[francetv] Sign m3u8 manifest URLs (closes #15565)
authorFrançois Revol <revol@free.fr>
Fri, 9 Feb 2018 15:09:08 +0000 (16:09 +0100)
committerSergey M․ <dstftw@gmail.com>
Sun, 11 Feb 2018 13:06:37 +0000 (20:06 +0700)
they seem to be required now, else we get 403 errors.

youtube_dl/extractor/francetv.py

index 095bb3954c523852be8d7d09d498d324d429c826..93abc2beb1d993c0ab09b6d12a39c8fa3b95a1f4 100644 (file)
@@ -64,9 +64,13 @@ class FranceTVBaseInfoExtractor(InfoExtractor):
                         f4m_url + '&hdcore=3.7.0&plugin=aasp-3.7.0.39.44',
                         video_id, f4m_id=format_id, fatal=False))
             elif ext == 'm3u8':
-                formats.extend(self._extract_m3u8_formats(
-                    video_url, video_id, 'mp4', entry_protocol='m3u8_native',
-                    m3u8_id=format_id, fatal=False))
+                m3u8_url = self._download_webpage(
+                    'http://hdfauth.francetv.fr/esi/TA?url=%s' % video_url,
+                    video_id, 'Downloading m3u8 token', fatal=False)
+                if m3u8_url:
+                    formats.extend(self._extract_m3u8_formats(
+                        m3u8_url, video_id, 'mp4', entry_protocol='m3u8_native',
+                        m3u8_id=format_id, fatal=False))
             elif video_url.startswith('rtmp'):
                 formats.append({
                     'url': video_url,