|
|
|
@ -472,7 +472,7 @@ class BrightcoveNewIE(AdobePassIE):
|
|
|
|
|
title = json_data['name'].strip()
|
|
|
|
|
|
|
|
|
|
num_drm_sources = 0
|
|
|
|
|
formats = []
|
|
|
|
|
formats, subtitles = [], {}
|
|
|
|
|
sources = json_data.get('sources') or []
|
|
|
|
|
for source in sources:
|
|
|
|
|
container = source.get('container')
|
|
|
|
@ -488,12 +488,16 @@ class BrightcoveNewIE(AdobePassIE):
|
|
|
|
|
elif ext == 'm3u8' or container == 'M2TS':
|
|
|
|
|
if not src:
|
|
|
|
|
continue
|
|
|
|
|
formats.extend(self._extract_m3u8_formats(
|
|
|
|
|
src, video_id, 'mp4', 'm3u8_native', m3u8_id='hls', fatal=False))
|
|
|
|
|
f, subs = self._extract_m3u8_formats_and_subtitles(
|
|
|
|
|
src, video_id, 'mp4', 'm3u8_native', m3u8_id='hls', fatal=False)
|
|
|
|
|
formats.extend(f)
|
|
|
|
|
subtitles = self._merge_subtitles(subtitles, subs)
|
|
|
|
|
elif ext == 'mpd':
|
|
|
|
|
if not src:
|
|
|
|
|
continue
|
|
|
|
|
formats.extend(self._extract_mpd_formats(src, video_id, 'dash', fatal=False))
|
|
|
|
|
f, subs = self._extract_mpd_formats_and_subtitles(src, video_id, 'dash', fatal=False)
|
|
|
|
|
formats.extend(f)
|
|
|
|
|
subtitles = self._merge_subtitles(subtitles, subs)
|
|
|
|
|
else:
|
|
|
|
|
streaming_src = source.get('streaming_src')
|
|
|
|
|
stream_name, app_name = source.get('stream_name'), source.get('app_name')
|
|
|
|
@ -556,7 +560,6 @@ class BrightcoveNewIE(AdobePassIE):
|
|
|
|
|
for f in formats:
|
|
|
|
|
f.setdefault('http_headers', {}).update(headers)
|
|
|
|
|
|
|
|
|
|
subtitles = {}
|
|
|
|
|
for text_track in json_data.get('text_tracks', []):
|
|
|
|
|
if text_track.get('kind') != 'captions':
|
|
|
|
|
continue
|
|
|
|
|