diff options
author | Sergey M․ <[email protected]> | 2021-05-05 02:44:29 +0700 |
---|---|---|
committer | Sergey M․ <[email protected]> | 2021-05-05 02:44:29 +0700 |
commit | 504e4d804df0ee666d80ba6796017cf97e026c0b (patch) | |
tree | b6ef2b2c39cc3e787492739b5c871b7a19851a78 | |
parent | 1786cd3fe4e555b83bdd3eea77ade3477293330d (diff) | |
download | youtube-dl-504e4d804df0ee666d80ba6796017cf97e026c0b.tar.gz youtube-dl-504e4d804df0ee666d80ba6796017cf97e026c0b.zip |
[gdcvault] Add support for HTML5 videos
-rw-r--r-- | youtube_dl/extractor/gdcvault.py | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/youtube_dl/extractor/gdcvault.py b/youtube_dl/extractor/gdcvault.py index 5ad40ee23..acc6478b8 100644 --- a/youtube_dl/extractor/gdcvault.py +++ b/youtube_dl/extractor/gdcvault.py @@ -6,6 +6,7 @@ from .common import InfoExtractor from .kaltura import KalturaIE from ..utils import ( HEADRequest, + remove_start, sanitized_Request, smuggle_url, urlencode_postdata, @@ -117,6 +118,11 @@ class GDCVaultIE(InfoExtractor): 'skip_download': True, }, }, + { + # HTML5 video + 'url': 'http://www.gdcvault.com/play/1014846/Conference-Keynote-Shigeru', + 'only_matching': True, + }, ] def _login(self, webpage_url, display_id): @@ -190,7 +196,18 @@ class GDCVaultIE(InfoExtractor): xml_name = self._html_search_regex( r'<iframe src=".*?\?xml(?:=|URL=xml/)(.+?\.xml).*?".*?</iframe>', - start_page, 'xml filename') + start_page, 'xml filename', default=None) + if not xml_name: + info = self._parse_html5_media_entries(url, start_page, video_id)[0] + info.update({ + 'title': remove_start(self._search_regex( + r'>Session Name:\s*<.*?>\s*<td>(.+?)</td>', start_page, + 'title', default=None) or self._og_search_title( + start_page, default=None), 'GDC Vault - '), + 'id': video_id, + 'display_id': display_id, + }) + return info embed_url = '%s/xml/%s' % (xml_root, xml_name) ie_key = 'DigitallySpeaking' |