[twitch:vod] Improve extraction
authorSergey M․ <dstftw@gmail.com>
Sat, 17 Oct 2015 12:29:54 +0000 (18:29 +0600)
committerSergey M․ <dstftw@gmail.com>
Sat, 17 Oct 2015 12:29:54 +0000 (18:29 +0600)
youtube_dl/extractor/twitch.py

index 891499a1f370d6b2484f75db07842afcc83431cc..21ea836ea3e13407bab8892836032b17cb7dfd99 100644 (file)
@@ -240,14 +240,24 @@ class TwitchVodIE(TwitchItemBaseIE):
 
     def _real_extract(self, url):
         item_id = self._match_id(url)
+
         info = self._download_info(self._ITEM_SHORTCUT, item_id)
         access_token = self._download_json(
-            '%s/api/vods/%s/access_token' % (self._API_BASE, item_id), item_id,
-            'Downloading %s access token' % self._ITEM_TYPE)
+           '%s/api/vods/%s/access_token' % (self._API_BASE, item_id), item_id,
+           'Downloading %s access token' % self._ITEM_TYPE)
+
         formats = self._extract_m3u8_formats(
-            '%s/vod/%s?nauth=%s&nauthsig=%s&allow_source=true'
-            % (self._USHER_BASE, item_id, access_token['token'], access_token['sig']),
-            item_id, 'mp4')
+           '%s/vod/%s?%s' % (
+               self._USHER_BASE, item_id,
+               compat_urllib_parse.urlencode({
+                    'allow_source': 'true',
+                    'allow_spectre': 'true',
+                    'player': 'twitchweb',
+                    'nauth': access_token['token'],
+                    'nauthsig': access_token['sig'],
+                })),
+           item_id, 'mp4')
+
         self._prefer_source(formats)
         info['formats'] = formats