diff options
| -rw-r--r-- | youtube_dl/extractor/twitch.py | 20 | 
1 files changed, 15 insertions, 5 deletions
| diff --git a/youtube_dl/extractor/twitch.py b/youtube_dl/extractor/twitch.py index 891499a1f..21ea836ea 100644 --- a/youtube_dl/extractor/twitch.py +++ b/youtube_dl/extractor/twitch.py @@ -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 | 
