mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-04 23:43:20 +00:00
[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-]+)
|
(?P<id>[\d-]+)
|
||||||
'''
|
'''
|
||||||
_TESTS = [{
|
_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
|
# metadata in JSON
|
||||||
'url': 'http://ok.ru/video/20079905452',
|
'url': 'http://ok.ru/video/20079905452',
|
||||||
'md5': '0b62089b479e06681abaaca9d204f152',
|
'md5': '0b62089b479e06681abaaca9d204f152',
|
||||||
|
@ -171,6 +203,10 @@ def _extract_desktop(self, url):
|
||||||
webpage, 'player', group='player')),
|
webpage, 'player', group='player')),
|
||||||
video_id)
|
video_id)
|
||||||
|
|
||||||
|
# embedded external player
|
||||||
|
if player.get('isExternalPlayer') and player.get('url'):
|
||||||
|
return self.url_result(player['url'])
|
||||||
|
|
||||||
flashvars = player['flashvars']
|
flashvars = player['flashvars']
|
||||||
|
|
||||||
metadata = flashvars.get('metadata')
|
metadata = flashvars.get('metadata')
|
||||||
|
@ -226,6 +262,14 @@ def _extract_desktop(self, url):
|
||||||
'start_time': start_time,
|
'start_time': start_time,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# pladform
|
||||||
|
if provider == 'OPEN_GRAPH':
|
||||||
|
info.update({
|
||||||
|
'_type': 'url_transparent',
|
||||||
|
'url': movie['contentId'],
|
||||||
|
})
|
||||||
|
return info
|
||||||
|
|
||||||
if provider == 'USER_YOUTUBE':
|
if provider == 'USER_YOUTUBE':
|
||||||
info.update({
|
info.update({
|
||||||
'_type': 'url_transparent',
|
'_type': 'url_transparent',
|
||||||
|
|
Loading…
Reference in a new issue