Browse Source

[brightcove] Fix subtitles extraction (closes #25540)

master
Sergey M․ 5 years ago
parent
commit
b4eb0bc7bd
No known key found for this signature in database GPG Key ID: 2C393E0F18A9236D
1 changed files with 12 additions and 4 deletions
  1. +12
    -4
      youtube_dl/extractor/brightcove.py

+ 12
- 4
youtube_dl/extractor/brightcove.py View File

@ -25,9 +25,11 @@ from ..utils import (
int_or_none, int_or_none,
parse_iso8601, parse_iso8601,
smuggle_url, smuggle_url,
str_or_none,
unescapeHTML, unescapeHTML,
unsmuggle_url, unsmuggle_url,
update_url_query, update_url_query,
url_or_none,
clean_html, clean_html,
mimetype2ext, mimetype2ext,
UnsupportedError, UnsupportedError,
@ -553,10 +555,16 @@ class BrightcoveNewIE(AdobePassIE):
subtitles = {} subtitles = {}
for text_track in json_data.get('text_tracks', []): for text_track in json_data.get('text_tracks', []):
if text_track.get('src'):
subtitles.setdefault(text_track.get('srclang'), []).append({
'url': text_track['src'],
})
if text_track.get('kind') != 'captions':
continue
text_track_url = url_or_none(text_track.get('src'))
if not text_track_url:
continue
lang = (str_or_none(text_track.get('srclang'))
or str_or_none(text_track.get('label')) or 'en').lower()
subtitles.setdefault(lang, []).append({
'url': text_track_url,
})
is_live = False is_live = False
duration = float_or_none(json_data.get('duration'), 1000) duration = float_or_none(json_data.get('duration'), 1000)


Loading…
Cancel
Save