diff options
author | dirkf <fieldhouse@gmx.net> | 2022-02-07 13:28:21 +0000 |
---|---|---|
committer | dirkf <fieldhouse@gmx.net> | 2022-02-07 13:47:38 +0000 |
commit | 47b0c8697a39bbd64d5b922f81ad74ee4d2a3136 (patch) | |
tree | f6cdcd94cec7e8e150148674bc9894d55d194ac4 /youtube_dl/extractor | |
parent | 734dfbb4e3ad4ee4d98609dc902ac864b94033a4 (diff) | |
download | youtube-dl-47b0c8697a39bbd64d5b922f81ad74ee4d2a3136.tar.xz |
[ARD] Back-port subtitle extraction from yt-dlp PR 2409
Authored by: fstirlitz
Fixes #30543
Closes #17766 (thanks ngdio)
Diffstat (limited to 'youtube_dl/extractor')
-rw-r--r-- | youtube_dl/extractor/ard.py | 15 |
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), |