about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2021-05-05 02:44:29 +0700
committerSergey M․ <dstftw@gmail.com>2021-05-05 02:44:29 +0700
commit504e4d804df0ee666d80ba6796017cf97e026c0b (patch)
treeb6ef2b2c39cc3e787492739b5c871b7a19851a78
parent1786cd3fe4e555b83bdd3eea77ade3477293330d (diff)
downloadyoutube-dl-504e4d804df0ee666d80ba6796017cf97e026c0b.tar.gz
youtube-dl-504e4d804df0ee666d80ba6796017cf97e026c0b.tar.xz
youtube-dl-504e4d804df0ee666d80ba6796017cf97e026c0b.zip
[gdcvault] Add support for HTML5 videos
-rw-r--r--youtube_dl/extractor/gdcvault.py19
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'