mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-12-24 19:01:27 +00:00
[ok] Add support for youtube embeds
This commit is contained in:
parent
1e804244d0
commit
88720ed09b
1 changed files with 35 additions and 11 deletions
|
@ -43,6 +43,21 @@ class OdnoklassnikiIE(InfoExtractor):
|
||||||
'like_count': int,
|
'like_count': int,
|
||||||
'age_limit': 0,
|
'age_limit': 0,
|
||||||
},
|
},
|
||||||
|
}, {
|
||||||
|
# YouTube embed (metadataUrl, provider == USER_YOUTUBE)
|
||||||
|
'url': 'http://ok.ru/video/64211978996595-1',
|
||||||
|
'md5': '5d7475d428845cd2e13bae6f1a992278',
|
||||||
|
'info_dict': {
|
||||||
|
'id': '64211978996595-1',
|
||||||
|
'ext': 'mp4',
|
||||||
|
'title': 'Космическая среда от 26 августа 2015',
|
||||||
|
'description': 'md5:848eb8b85e5e3471a3a803dae1343ed0',
|
||||||
|
'duration': 440,
|
||||||
|
'upload_date': '20150826',
|
||||||
|
'uploader_id': '750099571',
|
||||||
|
'uploader': 'Алина П',
|
||||||
|
'age_limit': 0,
|
||||||
|
},
|
||||||
}, {
|
}, {
|
||||||
'url': 'http://ok.ru/web-api/video/moviePlayer/20079905452',
|
'url': 'http://ok.ru/web-api/video/moviePlayer/20079905452',
|
||||||
'only_matching': True,
|
'only_matching': True,
|
||||||
|
@ -93,16 +108,7 @@ def _real_extract(self, url):
|
||||||
|
|
||||||
like_count = int_or_none(metadata.get('likeCount'))
|
like_count = int_or_none(metadata.get('likeCount'))
|
||||||
|
|
||||||
quality = qualities(('mobile', 'lowest', 'low', 'sd', 'hd'))
|
info = {
|
||||||
|
|
||||||
formats = [{
|
|
||||||
'url': f['url'],
|
|
||||||
'ext': 'mp4',
|
|
||||||
'format_id': f['name'],
|
|
||||||
'quality': quality(f['name']),
|
|
||||||
} for f in metadata['videos']]
|
|
||||||
|
|
||||||
return {
|
|
||||||
'id': video_id,
|
'id': video_id,
|
||||||
'title': title,
|
'title': title,
|
||||||
'thumbnail': thumbnail,
|
'thumbnail': thumbnail,
|
||||||
|
@ -112,5 +118,23 @@ def _real_extract(self, url):
|
||||||
'uploader_id': uploader_id,
|
'uploader_id': uploader_id,
|
||||||
'like_count': like_count,
|
'like_count': like_count,
|
||||||
'age_limit': age_limit,
|
'age_limit': age_limit,
|
||||||
'formats': formats,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if metadata.get('provider') == 'USER_YOUTUBE':
|
||||||
|
info.update({
|
||||||
|
'_type': 'url_transparent',
|
||||||
|
'url': movie['contentId'],
|
||||||
|
})
|
||||||
|
return info
|
||||||
|
|
||||||
|
quality = qualities(('mobile', 'lowest', 'low', 'sd', 'hd'))
|
||||||
|
|
||||||
|
formats = [{
|
||||||
|
'url': f['url'],
|
||||||
|
'ext': 'mp4',
|
||||||
|
'format_id': f['name'],
|
||||||
|
'quality': quality(f['name']),
|
||||||
|
} for f in metadata['videos']]
|
||||||
|
|
||||||
|
info['formats'] = formats
|
||||||
|
return info
|
||||||
|
|
Loading…
Reference in a new issue