From: Felix S Date: Sat, 11 Sep 2021 10:16:03 +0000 (+0000) Subject: [zype] Extract subtitles from the m3u8 manifest (#948) X-Git-Tag: 2021.09.25~87 X-Git-Url: https://jfr.im/git/yt-dlp.git/commitdiff_plain/1c5ce74c045530eb3d085e96c1d5f2b3ce88a57c [zype] Extract subtitles from the m3u8 manifest (#948) Closes #929 Authored by: fstirlitz --- diff --git a/yt_dlp/extractor/zype.py b/yt_dlp/extractor/zype.py index f20f953cb..7663cb36b 100644 --- a/yt_dlp/extractor/zype.py +++ b/yt_dlp/extractor/zype.py @@ -56,6 +56,8 @@ def _real_extract(self, url): video = response['video'] title = video['title'] + subtitles = {} + if isinstance(body, dict): formats = [] for output in body.get('outputs', []): @@ -64,7 +66,7 @@ def _real_extract(self, url): continue name = output.get('name') if name == 'm3u8': - formats = self._extract_m3u8_formats( + formats, subtitles = self._extract_m3u8_formats_and_subtitles( output_url, video_id, 'mp4', 'm3u8_native', m3u8_id='hls', fatal=False) else: @@ -97,7 +99,7 @@ def get_attr(key): if get_attr('integration') == 'verizon-media': m3u8_url = 'https://content.uplynk.com/%s.m3u8' % get_attr('id') - formats = self._extract_m3u8_formats( + formats, subtitles = self._extract_m3u8_formats_and_subtitles( m3u8_url, video_id, 'mp4', 'm3u8_native', m3u8_id='hls') text_tracks = self._search_regex( r'textTracks\s*:\s*(\[[^]]+\])', @@ -107,7 +109,6 @@ def get_attr(key): text_tracks, video_id, js_to_json, False) self._sort_formats(formats) - subtitles = {} if text_tracks: for text_track in text_tracks: tt_url = dict_get(text_track, ('file', 'src'))