From ffcd62c2899a7d0cd4aeceaed922d3d0a6c1c582 Mon Sep 17 00:00:00 2001 From: shirt Date: Fri, 12 Aug 2022 19:40:49 -0400 Subject: [PATCH] [extractor/tubitv] Extract additional formats (#4646) Authored by: shirt-dev --- yt_dlp/extractor/tubitv.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/yt_dlp/extractor/tubitv.py b/yt_dlp/extractor/tubitv.py index ea38162ae..d91a46500 100644 --- a/yt_dlp/extractor/tubitv.py +++ b/yt_dlp/extractor/tubitv.py @@ -70,16 +70,17 @@ def _perform_login(self, username, password): def _real_extract(self, url): video_id = self._match_id(url) video_data = self._download_json( - 'http://tubitv.com/oz/videos/%s/content' % video_id, video_id) + 'https://tubitv.com/oz/videos/%s/content?video_resources=dash&video_resources=hlsv3&video_resources=hlsv6' % video_id, video_id) title = video_data['title'] formats = [] - url = video_data['url'] - # URL can be sometimes empty. Does this only happen when there is DRM? - if url: - formats = self._extract_m3u8_formats( - self._proto_relative_url(url), - video_id, 'mp4', 'm3u8_native') + + for resource in video_data['video_resources']: + if resource['type'] in ('dash', ): + formats += self._extract_mpd_formats(resource['manifest']['url'], video_id, mpd_id=resource['type'], fatal=False) + elif resource['type'] in ('hlsv3', 'hlsv6'): + formats += self._extract_m3u8_formats(resource['manifest']['url'], video_id, 'mp4', m3u8_id=resource['type'], fatal=False) + self._sort_formats(formats) thumbnails = []