From c26326c1bebaf7c784d470b6a9502bac4dc37e96 Mon Sep 17 00:00:00 2001 From: Felix S Date: Thu, 15 Apr 2021 10:15:43 +0200 Subject: [generic] Extract subtitles from direct HLS manifest links --- yt_dlp/extractor/generic.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'yt_dlp/extractor/generic.py') diff --git a/yt_dlp/extractor/generic.py b/yt_dlp/extractor/generic.py index 4250d1093..e41ea1260 100644 --- a/yt_dlp/extractor/generic.py +++ b/yt_dlp/extractor/generic.py @@ -2444,8 +2444,9 @@ class GenericIE(InfoExtractor): m = re.match(r'^(?Paudio|video|application(?=/(?:ogg$|(?:vnd\.apple\.|x-)?mpegurl)))/(?P[^;\s]+)', content_type) if m: format_id = compat_str(m.group('format_id')) + subtitles = {} if format_id.endswith('mpegurl'): - formats = self._extract_m3u8_formats(url, video_id, 'mp4') + formats, subtitles = self._extract_m3u8_formats_and_subtitles(url, video_id, 'mp4') elif format_id == 'f4m': formats = self._extract_f4m_formats(url, video_id) else: @@ -2457,6 +2458,7 @@ class GenericIE(InfoExtractor): info_dict['direct'] = True self._sort_formats(formats) info_dict['formats'] = formats + info_dict['subtitles'] = subtitles return info_dict if not self._downloader.params.get('test', False) and not is_intentional: -- cgit v1.2.3 From 7de27caf1633a58c92ecea800017f0fc103fecc3 Mon Sep 17 00:00:00 2001 From: Felix S Date: Sun, 18 Apr 2021 08:41:28 +0200 Subject: [generic] Extract subtitles from direct DASH manifest links --- yt_dlp/extractor/generic.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'yt_dlp/extractor/generic.py') diff --git a/yt_dlp/extractor/generic.py b/yt_dlp/extractor/generic.py index e41ea1260..f3d50312f 100644 --- a/yt_dlp/extractor/generic.py +++ b/yt_dlp/extractor/generic.py @@ -2526,7 +2526,7 @@ class GenericIE(InfoExtractor): xspf_base_url=full_response.geturl()), video_id) elif re.match(r'(?i)^(?:{[^}]+})?MPD$', doc.tag): - info_dict['formats'] = self._parse_mpd_formats( + info_dict['formats'], info_dict['subtitles'] = self._parse_mpd_formats_and_subtitles( doc, mpd_base_url=full_response.geturl().rpartition('/')[0], mpd_url=url) -- cgit v1.2.3 From 7a450a3b1c2a6f7140083aa2fae416de8b9f7f3c Mon Sep 17 00:00:00 2001 From: Felix S Date: Sun, 18 Apr 2021 14:26:32 +0200 Subject: [generic] Extract subtitles from direct SSTR manifest links --- yt_dlp/extractor/generic.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'yt_dlp/extractor/generic.py') diff --git a/yt_dlp/extractor/generic.py b/yt_dlp/extractor/generic.py index f3d50312f..32815476f 100644 --- a/yt_dlp/extractor/generic.py +++ b/yt_dlp/extractor/generic.py @@ -2512,7 +2512,7 @@ class GenericIE(InfoExtractor): if doc.tag == 'rss': return self._extract_rss(url, video_id, doc) elif doc.tag == 'SmoothStreamingMedia': - info_dict['formats'] = self._parse_ism_formats(doc, url) + info_dict['formats'], info_dict['subtitles'] = self._parse_ism_formats_and_subtitles(doc, url) self._sort_formats(info_dict['formats']) return info_dict elif re.match(r'^(?:{[^}]+})?smil$', doc.tag): -- cgit v1.2.3