aboutsummaryrefslogtreecommitdiffstats
path: root/youtube_dlc
diff options
context:
space:
mode:
authorTom-Oliver Heidel <blackjack4494@web.de>2020-09-06 01:52:42 +0200
committerTom-Oliver Heidel <blackjack4494@web.de>2020-09-06 01:52:42 +0200
commitd788bb972465d5880aa07fb28cb0ad47a18345be (patch)
tree3dbcf105472ce6a25affe37e335fb284bb15a1f9 /youtube_dlc
parentb3b710e2a8120bcc38193d6c925d2ce17e6e30b9 (diff)
parent9aa79d6460908bfc9015bbf070d8f1c2d5049637 (diff)
downloadhypervideo-pre-d788bb972465d5880aa07fb28cb0ad47a18345be.tar.lz
hypervideo-pre-d788bb972465d5880aa07fb28cb0ad47a18345be.tar.xz
hypervideo-pre-d788bb972465d5880aa07fb28cb0ad47a18345be.zip
Merge branch 'zubearc'
Diffstat (limited to 'youtube_dlc')
-rw-r--r--youtube_dlc/extractor/youtube.py25
1 files changed, 16 insertions, 9 deletions
diff --git a/youtube_dlc/extractor/youtube.py b/youtube_dlc/extractor/youtube.py
index 70a5bd3b0..30a3e5c3c 100644
--- a/youtube_dlc/extractor/youtube.py
+++ b/youtube_dlc/extractor/youtube.py
@@ -549,7 +549,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'396': {'acodec': 'none', 'vcodec': 'av01.0.05M.08'},
'397': {'acodec': 'none', 'vcodec': 'av01.0.05M.08'},
}
- _SUBTITLE_FORMATS = ('srv1', 'srv2', 'srv3', 'ttml', 'vtt')
+ _SUBTITLE_FORMATS = ('srv1', 'srv2', 'srv3', 'ttml', 'vtt', 'json3')
_GEO_BYPASS = False
@@ -1577,14 +1577,21 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
player_response, video_id, fatal=False)
if player_response:
renderer = player_response['captions']['playerCaptionsTracklistRenderer']
- base_url = renderer['captionTracks'][0]['baseUrl']
- sub_lang_list = []
- for lang in renderer['translationLanguages']:
- lang_code = lang.get('languageCode')
- if lang_code:
- sub_lang_list.append(lang_code)
- return make_captions(base_url, sub_lang_list)
-
+ caption_tracks = renderer['captionTracks']
+ for caption_track in caption_tracks:
+ if 'kind' not in caption_track:
+ # not an automatic transcription
+ continue
+ base_url = caption_track['baseUrl']
+ sub_lang_list = []
+ for lang in renderer['translationLanguages']:
+ lang_code = lang.get('languageCode')
+ if lang_code:
+ sub_lang_list.append(lang_code)
+ return make_captions(base_url, sub_lang_list)
+
+ self._downloader.report_warning("Couldn't find automatic captions for %s" % video_id)
+ return {}
# Some videos don't provide ttsurl but rather caption_tracks and
# caption_translation_languages (e.g. 20LmZk1hakA)
# Does not used anymore as of 22.06.2017