|
|
@ -484,6 +484,10 @@ class BrightcoveNewIE(InfoExtractor):
|
|
|
|
formats.extend(self._extract_m3u8_formats(
|
|
|
|
formats.extend(self._extract_m3u8_formats(
|
|
|
|
src, video_id, 'mp4', entry_protocol='m3u8_native',
|
|
|
|
src, video_id, 'mp4', entry_protocol='m3u8_native',
|
|
|
|
m3u8_id='hls', fatal=False))
|
|
|
|
m3u8_id='hls', fatal=False))
|
|
|
|
|
|
|
|
elif source_type == 'application/dash+xml':
|
|
|
|
|
|
|
|
if not src:
|
|
|
|
|
|
|
|
continue
|
|
|
|
|
|
|
|
formats.extend(self._extract_mpd_formats(src, video_id, 'dash', fatal=False))
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
streaming_src = source.get('streaming_src')
|
|
|
|
streaming_src = source.get('streaming_src')
|
|
|
|
stream_name, app_name = source.get('stream_name'), source.get('app_name')
|
|
|
|
stream_name, app_name = source.get('stream_name'), source.get('app_name')
|
|
|
@ -491,15 +495,23 @@ class BrightcoveNewIE(InfoExtractor):
|
|
|
|
continue
|
|
|
|
continue
|
|
|
|
tbr = float_or_none(source.get('avg_bitrate'), 1000)
|
|
|
|
tbr = float_or_none(source.get('avg_bitrate'), 1000)
|
|
|
|
height = int_or_none(source.get('height'))
|
|
|
|
height = int_or_none(source.get('height'))
|
|
|
|
|
|
|
|
width = int_or_none(source.get('width'))
|
|
|
|
f = {
|
|
|
|
f = {
|
|
|
|
'tbr': tbr,
|
|
|
|
'tbr': tbr,
|
|
|
|
'width': int_or_none(source.get('width')),
|
|
|
|
|
|
|
|
'height': height,
|
|
|
|
|
|
|
|
'filesize': int_or_none(source.get('size')),
|
|
|
|
'filesize': int_or_none(source.get('size')),
|
|
|
|
'container': container,
|
|
|
|
'container': container,
|
|
|
|
'vcodec': source.get('codec'),
|
|
|
|
'ext': container.lower(),
|
|
|
|
'ext': source.get('container').lower(),
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if width == 0 and height == 0:
|
|
|
|
|
|
|
|
f.update({
|
|
|
|
|
|
|
|
'vcodec': 'none',
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
f.update({
|
|
|
|
|
|
|
|
'width': width,
|
|
|
|
|
|
|
|
'height': height,
|
|
|
|
|
|
|
|
'vcodec': source.get('codec'),
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
def build_format_id(kind):
|
|
|
|
def build_format_id(kind):
|
|
|
|
format_id = kind
|
|
|
|
format_id = kind
|
|
|
|