Browse Source

[ARD] Back-port subtitle extraction from yt-dlp PR 2409

Authored by: fstirlitz
Fixes #30543
Closes #17766 (thanks ngdio)
dirkf 3 years ago
parent
commit
47b0c8697a
1 changed files with 15 additions and 0 deletions
  1. 15 0
      youtube_dl/extractor/ard.py

+ 15 - 0
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),