summary refs log tree commit diff
diff options
context:
space:
mode:
authorFrançois Revol <revol@free.fr>2018-02-09 16:09:08 +0100
committerSergey M․ <dstftw@gmail.com>2018-02-11 20:06:37 +0700
commit818df33fda548635d4d6733b1653a53ec4ee20a7 (patch)
tree540477ad7ad232b7005bf350181500cd1905d940
parenta072a12e249525f002646a921f16e14f03231662 (diff)
downloadyoutube-dl-818df33fda548635d4d6733b1653a53ec4ee20a7.tar.gz
youtube-dl-818df33fda548635d4d6733b1653a53ec4ee20a7.tar.xz
youtube-dl-818df33fda548635d4d6733b1653a53ec4ee20a7.zip
[francetv] Sign m3u8 manifest URLs (closes #15565)
they seem to be required now, else we get 403 errors.
-rw-r--r--youtube_dl/extractor/francetv.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/youtube_dl/extractor/francetv.py b/youtube_dl/extractor/francetv.py
index 095bb3954..93abc2beb 100644
--- a/youtube_dl/extractor/francetv.py
+++ b/youtube_dl/extractor/francetv.py
@@ -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,