aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordirkf <fieldhouse@gmx.net>2022-02-07 13:28:21 +0000
committerdirkf <fieldhouse@gmx.net>2022-02-07 13:47:38 +0000
commit47b0c8697a39bbd64d5b922f81ad74ee4d2a3136 (patch)
treef6cdcd94cec7e8e150148674bc9894d55d194ac4
parent734dfbb4e3ad4ee4d98609dc902ac864b94033a4 (diff)
downloadyoutube-dl-47b0c8697a39bbd64d5b922f81ad74ee4d2a3136.tar.xz
[ARD] Back-port subtitle extraction from yt-dlp PR 2409
Authored by: fstirlitz Fixes #30543 Closes #17766 (thanks ngdio)
-rw-r--r--youtube_dl/extractor/ard.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/youtube_dl/extractor/ard.py b/youtube_dl/extractor/ard.py
index d45a9fe52..a5b1f54d5 100644
--- a/youtube_dl/extractor/ard.py
+++ b/youtube_dl/extractor/ard.py
@@ -332,9 +332,24 @@ class ARDIE(InfoExtractor):
formats.append(f)
self._sort_formats(formats)
+ _SUB_FORMATS = (
+ ('./dataTimedText', 'ttml'),
+ ('./dataTimedTextNoOffset', 'ttml'),
+ ('./dataTimedTextVtt', 'vtt'),
+ )
+
+ subtitles = {}
+ for subsel, subext in _SUB_FORMATS:
+ for node in video_node.findall(subsel):
+ subtitles.setdefault('de', []).append({
+ 'url': node.attrib['url'],
+ 'ext': subext,
+ })
+
return {
'id': xpath_text(video_node, './videoId', default=display_id),
'formats': formats,
+ 'subtitles': subtitles,
'display_id': display_id,
'title': video_node.find('./title').text,
'duration': parse_duration(video_node.find('./duration').text),