|
@@ -25,9 +25,11 @@ from ..utils import (
|
|
|
int_or_none,
|
|
|
parse_iso8601,
|
|
|
smuggle_url,
|
|
|
+ str_or_none,
|
|
|
unescapeHTML,
|
|
|
unsmuggle_url,
|
|
|
update_url_query,
|
|
|
+ url_or_none,
|
|
|
clean_html,
|
|
|
mimetype2ext,
|
|
|
UnsupportedError,
|
|
@@ -553,10 +555,16 @@ class BrightcoveNewIE(AdobePassIE):
|
|
|
|
|
|
subtitles = {}
|
|
|
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
|
|
|
duration = float_or_none(json_data.get('duration'), 1000)
|