mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-21 20:46:36 -05:00
[generic] Add support for jwPlayer YouTube videos
This makes nationalarchives.gov.uk work (Fixes #4907, fixes #4876)
This commit is contained in:
parent
dd8930684e
commit
a0f7198544
1 changed files with 17 additions and 1 deletions
|
@ -524,6 +524,19 @@ class GenericIE(InfoExtractor):
|
||||||
'upload_date': '20150126',
|
'upload_date': '20150126',
|
||||||
},
|
},
|
||||||
'add_ie': ['Viddler'],
|
'add_ie': ['Viddler'],
|
||||||
|
},
|
||||||
|
# jwplayer YouTube
|
||||||
|
{
|
||||||
|
'url': 'http://media.nationalarchives.gov.uk/index.php/webinar-using-discovery-national-archives-online-catalogue/',
|
||||||
|
'info_dict': {
|
||||||
|
'id': 'Mrj4DVp2zeA',
|
||||||
|
'ext': 'mp4',
|
||||||
|
'upload_date': '20150204',
|
||||||
|
'uploader': 'The National Archives UK',
|
||||||
|
'description': 'md5:a236581cd2449dd2df4f93412f3f01c6',
|
||||||
|
'uploader_id': 'NationalArchives08',
|
||||||
|
'title': 'Webinar: Using Discovery, The National Archives’ online catalogue',
|
||||||
|
},
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -1065,6 +1078,8 @@ def _playlist_from_matches(matches, getter=None, ie=None):
|
||||||
return self.url_result(mobj.group('url'), 'Livestream')
|
return self.url_result(mobj.group('url'), 'Livestream')
|
||||||
|
|
||||||
def check_video(vurl):
|
def check_video(vurl):
|
||||||
|
if YoutubeIE.suitable(vurl):
|
||||||
|
return True
|
||||||
vpath = compat_urlparse.urlparse(vurl).path
|
vpath = compat_urlparse.urlparse(vurl).path
|
||||||
vext = determine_ext(vpath)
|
vext = determine_ext(vpath)
|
||||||
return '.' in vpath and vext not in ('swf', 'png', 'jpg', 'srt', 'sbv', 'sub', 'vtt', 'ttml')
|
return '.' in vpath and vext not in ('swf', 'png', 'jpg', 'srt', 'sbv', 'sub', 'vtt', 'ttml')
|
||||||
|
@ -1082,7 +1097,8 @@ def filter_video(urls):
|
||||||
JWPlayerOptions|
|
JWPlayerOptions|
|
||||||
jwplayer\s*\(\s*["'][^'"]+["']\s*\)\s*\.setup
|
jwplayer\s*\(\s*["'][^'"]+["']\s*\)\s*\.setup
|
||||||
)
|
)
|
||||||
.*?file\s*:\s*["\'](.*?)["\']''', webpage))
|
.*?
|
||||||
|
['"]?file['"]?\s*:\s*["\'](.*?)["\']''', webpage))
|
||||||
if not found:
|
if not found:
|
||||||
# Broaden the search a little bit
|
# Broaden the search a little bit
|
||||||
found = filter_video(re.findall(r'[^A-Za-z0-9]?(?:file|source)=(http[^\'"&]*)', webpage))
|
found = filter_video(re.findall(r'[^A-Za-z0-9]?(?:file|source)=(http[^\'"&]*)', webpage))
|
||||||
|
|
Loading…
Reference in a new issue