mirror of https://github.com/yt-dlp/yt-dlp.git
[Odnoklassniki] Improve embedded players extraction (#2549)
Authored by: KiberInfinity
This commit is contained in:
parent
1c6f480160
commit
b8b3f4562a
|
@ -35,6 +35,38 @@ class OdnoklassnikiIE(InfoExtractor):
|
|||
(?P<id>[\d-]+)
|
||||
'''
|
||||
_TESTS = [{
|
||||
'note': 'Coub embedded',
|
||||
'url': 'http://ok.ru/video/1484130554189',
|
||||
'info_dict': {
|
||||
'id': '1keok9',
|
||||
'ext': 'mp4',
|
||||
'timestamp': 1545580896,
|
||||
'view_count': int,
|
||||
'thumbnail': 'https://coub-anubis-a.akamaized.net/coub_storage/coub/simple/cw_image/c5ac87553bd/608e806a1239c210ab692/1545580913_00026.jpg',
|
||||
'title': 'Народная забава',
|
||||
'uploader': 'Nevata',
|
||||
'upload_date': '20181223',
|
||||
'age_limit': 0,
|
||||
'uploader_id': 'nevata.s',
|
||||
'like_count': int,
|
||||
'duration': 8.08,
|
||||
'repost_count': int,
|
||||
},
|
||||
}, {
|
||||
'note': 'vk.com embedded',
|
||||
'url': 'https://ok.ru/video/3568183087575',
|
||||
'info_dict': {
|
||||
'id': '-165101755_456243749',
|
||||
'ext': 'mp4',
|
||||
'uploader_id': '-165101755',
|
||||
'duration': 132,
|
||||
'timestamp': 1642869935,
|
||||
'upload_date': '20220122',
|
||||
'thumbnail': str,
|
||||
'title': str,
|
||||
'uploader': str,
|
||||
},
|
||||
}, {
|
||||
# metadata in JSON
|
||||
'url': 'http://ok.ru/video/20079905452',
|
||||
'md5': '0b62089b479e06681abaaca9d204f152',
|
||||
|
@ -171,6 +203,10 @@ class OdnoklassnikiIE(InfoExtractor):
|
|||
webpage, 'player', group='player')),
|
||||
video_id)
|
||||
|
||||
# embedded external player
|
||||
if player.get('isExternalPlayer') and player.get('url'):
|
||||
return self.url_result(player['url'])
|
||||
|
||||
flashvars = player['flashvars']
|
||||
|
||||
metadata = flashvars.get('metadata')
|
||||
|
@ -226,6 +262,14 @@ class OdnoklassnikiIE(InfoExtractor):
|
|||
'start_time': start_time,
|
||||
}
|
||||
|
||||
# pladform
|
||||
if provider == 'OPEN_GRAPH':
|
||||
info.update({
|
||||
'_type': 'url_transparent',
|
||||
'url': movie['contentId'],
|
||||
})
|
||||
return info
|
||||
|
||||
if provider == 'USER_YOUTUBE':
|
||||
info.update({
|
||||
'_type': 'url_transparent',
|
||||
|
|
Loading…
Reference in New Issue