From c811e8d8bdff723930a1e2def6f144499af98bde Mon Sep 17 00:00:00 2001 From: Felix S Date: Sun, 18 Apr 2021 16:45:04 +0200 Subject: [PATCH] [atresplayer] Extract subtitles from streaming manifests --- yt_dlp/extractor/atresplayer.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/yt_dlp/extractor/atresplayer.py b/yt_dlp/extractor/atresplayer.py index c2cec9845..4afde8f90 100644 --- a/yt_dlp/extractor/atresplayer.py +++ b/yt_dlp/extractor/atresplayer.py @@ -86,18 +86,19 @@ def _real_extract(self, url): title = episode['titulo'] formats = [] + subtitles = {} for source in episode.get('sources', []): src = source.get('src') if not src: continue src_type = source.get('type') if src_type == 'application/vnd.apple.mpegurl': - formats.extend(self._extract_m3u8_formats( + formats, subtitles = self._extract_m3u8_formats( src, video_id, 'mp4', 'm3u8_native', - m3u8_id='hls', fatal=False)) + m3u8_id='hls', fatal=False) elif src_type == 'application/dash+xml': - formats.extend(self._extract_mpd_formats( - src, video_id, mpd_id='dash', fatal=False)) + formats, subtitles = self._extract_mpd_formats( + src, video_id, mpd_id='dash', fatal=False) self._sort_formats(formats) heartbeat = episode.get('heartbeat') or {} @@ -115,4 +116,5 @@ def _real_extract(self, url): 'channel': get_meta('channel'), 'season': get_meta('season'), 'episode_number': int_or_none(get_meta('episodeNumber')), + 'subtitles': subtitles, }