diff options
author | Sergey M․ <dstftw@gmail.com> | 2016-09-28 22:58:25 +0700 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2016-09-28 22:58:25 +0700 |
commit | f533490bb7b2d25b9c6fe7ccd381ebe2bef7d4f8 (patch) | |
tree | e1db62333be28246d7bfebbaac0c95d88c389798 | |
parent | 8bfda726c20198b7e68a805967917ef1a79e9b91 (diff) |
[ketnet] Extract mzsource formats (#10770)
-rw-r--r-- | youtube_dl/extractor/ketnet.py | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/youtube_dl/extractor/ketnet.py b/youtube_dl/extractor/ketnet.py index aaf3f807a..eb0a16008 100644 --- a/youtube_dl/extractor/ketnet.py +++ b/youtube_dl/extractor/ketnet.py @@ -21,6 +21,10 @@ class KetnetIE(InfoExtractor): }, { 'url': 'https://www.ketnet.be/achter-de-schermen/sien-repeteert-voor-stars-for-life', 'only_matching': True, + }, { + # mzsource, geo restricted to Belgium + 'url': 'https://www.ketnet.be/kijken/nachtwacht/de-bermadoe', + 'only_matching': True, }] def _real_extract(self, url): @@ -36,9 +40,25 @@ class KetnetIE(InfoExtractor): title = config['title'] - formats = self._extract_m3u8_formats( - config['source']['hls'], video_id, 'mp4', - entry_protocol='m3u8_native', m3u8_id='hls') + formats = [] + for source_key in ('', 'mz'): + source = config.get('%ssource' % source_key) + if not isinstance(source, dict): + continue + for format_id, format_url in source.items(): + if format_id == 'hls': + formats.extend(self._extract_m3u8_formats( + format_url, video_id, 'mp4', + entry_protocol='m3u8_native', m3u8_id=format_id, + fatal=False)) + elif format_id == 'hds': + formats.extend(self._extract_f4m_formats( + format_url, video_id, f4m_id=format_id, fatal=False)) + else: + formats.append({ + 'url': format_url, + 'format_id': format_id, + }) self._sort_formats(formats) return { |