[generic] Add support for single format Video.js embeds (closes #14371)

This commit is contained in:
Sergey M․ 2017-10-01 07:01:21 +07:00
parent c8da40d834
commit c5b7014a9c
No known key found for this signature in database
GPG key ID: 2C393E0F18A9236D

View file

@ -1133,7 +1133,7 @@ class GenericIE(InfoExtractor):
} }
}, },
{ {
# Video.js embed # Video.js embed, multiple formats
'url': 'http://ortcam.com/solidworks-урок-6-настройка-чертежа_33f9b7351.html', 'url': 'http://ortcam.com/solidworks-урок-6-настройка-чертежа_33f9b7351.html',
'info_dict': { 'info_dict': {
'id': 'yygqldloqIk', 'id': 'yygqldloqIk',
@ -1148,6 +1148,19 @@ class GenericIE(InfoExtractor):
'skip_download': True, 'skip_download': True,
}, },
}, },
{
# Video.js embed, single format
'url': 'https://www.vooplayer.com/v3/watch/watch.php?v=NzgwNTg=',
'info_dict': {
'id': 'watch',
'ext': 'mp4',
'title': 'Step 1 - Good Foundation',
'description': 'md5:d1e7ff33a29fc3eb1673d6c270d344f4',
},
'params': {
'skip_download': True,
},
},
# rtl.nl embed # rtl.nl embed
{ {
'url': 'http://www.rtlnieuws.nl/nieuws/buitenland/aanslagen-kopenhagen', 'url': 'http://www.rtlnieuws.nl/nieuws/buitenland/aanslagen-kopenhagen',
@ -2900,12 +2913,14 @@ def merge_dicts(dict1, dict2):
# Video.js embed # Video.js embed
mobj = re.search( mobj = re.search(
r'(?s)\bvideojs\s*\(.+?\bplayer\.src\s*\(\s*(\[.+?\])\s*\)\s*;', r'(?s)\bvideojs\s*\(.+?\.src\s*\(\s*((?:\[.+?\]|{.+?}))\s*\)\s*;',
webpage) webpage)
if mobj is not None: if mobj is not None:
sources = self._parse_json( sources = self._parse_json(
mobj.group(1), video_id, transform_source=js_to_json, mobj.group(1), video_id, transform_source=js_to_json,
fatal=False) or [] fatal=False) or []
if not isinstance(sources, list):
sources = [sources]
formats = [] formats = []
for source in sources: for source in sources:
src = source.get('src') src = source.get('src')