From 818df33fda548635d4d6733b1653a53ec4ee20a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= Date: Fri, 9 Feb 2018 16:09:08 +0100 Subject: [PATCH] [francetv] Sign m3u8 manifest URLs (closes #15565) they seem to be required now, else we get 403 errors. --- youtube_dl/extractor/francetv.py | 10 +++++++--- 1 file 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 @@ def _extract_video(self, video_id, catalogue=None): 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,