diff --git a/yt_dlp/extractor/globo.py b/yt_dlp/extractor/globo.py index bd129224ae..b97e598bd7 100644 --- a/yt_dlp/extractor/globo.py +++ b/yt_dlp/extractor/globo.py @@ -127,8 +127,13 @@ class GloboIE(InfoExtractor): main_source = video['sources'][0] - formats, subtitles = self._extract_mpd_formats_and_subtitles( - main_source['url'], video_id, 'mp4', fatal=False) + # 4k streams are exclusively outputted in dash, so we need to filter these out + if main_source['url'].endswith("mpd"): + formats, subtitles = self._extract_mpd_formats_and_subtitles( + main_source['url'], video_id, 'mp4', fatal=False) + else: + formats, subtitles = self._extract_m3u8_formats_and_subtitles( + main_source['url'], video_id, 'mp4', 'm3u8_native', m3u8_id='hls', fatal=False) self._merge_subtitles(traverse_obj(main_source, ('text', ..., { 'url': ('subtitle', 'srt', 'url', {str_or_none}), }, all, {subs_list_to_dict})), target=subtitles)