[youtube] Support new base.js html5 player
authorYen Chi Hsuan <yan12125@gmail.com>
Tue, 10 Nov 2015 04:55:01 +0000 (12:55 +0800)
committerYen Chi Hsuan <yan12125@gmail.com>
Tue, 10 Nov 2015 04:55:01 +0000 (12:55 +0800)
youtube_dl/extractor/youtube.py

index e2a43299fe102ce9a6a16d1090ae3010adb392d9..687e0b4dbc1d044eb55c89da722961c68b0428b8 100644 (file)
@@ -703,7 +703,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
 
     def _extract_signature_function(self, video_id, player_url, example_sig):
         id_m = re.match(
-            r'.*?-(?P<id>[a-zA-Z0-9_-]+)(?:/watch_as3|/html5player(?:-new)?)?\.(?P<ext>[a-z]+)$',
+            r'.*?-(?P<id>[a-zA-Z0-9_-]+)(?:/watch_as3|/html5player(?:-new)?|/base)?\.(?P<ext>[a-z]+)$',
             player_url)
         if not id_m:
             raise ExtractorError('Cannot identify player %r' % player_url)
@@ -1343,7 +1343,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
                                 player_desc = 'flash player %s' % player_version
                             else:
                                 player_version = self._search_regex(
-                                    r'html5player-([^/]+?)(?:/html5player(?:-new)?)?\.js',
+                                    [r'html5player-([^/]+?)(?:/html5player(?:-new)?)?\.js', r'(?:www|player)-([^/]+)/base\.js'],
                                     player_url,
                                     'html5 player', fatal=False)
                                 player_desc = 'html5 player %s' % player_version