diff options
author | remitamine <[email protected]> | 2016-03-15 18:48:21 +0100 |
---|---|---|
committer | remitamine <[email protected]> | 2016-03-15 18:48:21 +0100 |
commit | 89807d6a8293d7b028a204628aec32b6f39148dd (patch) | |
tree | 8e2a4f32b6661135d40e873470796da4dd7ec094 | |
parent | 49dea4913bea3b8e5c7d65dd932aa68ada526088 (diff) | |
download | youtube-dl-89807d6a8293d7b028a204628aec32b6f39148dd.tar.gz youtube-dl-89807d6a8293d7b028a204628aec32b6f39148dd.zip |
[brightcove] extract dash formats and detect audio formats
-rw-r--r-- | youtube_dl/extractor/brightcove.py | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/youtube_dl/extractor/brightcove.py b/youtube_dl/extractor/brightcove.py index f8413d5f2..86de5b9ee 100644 --- a/youtube_dl/extractor/brightcove.py +++ b/youtube_dl/extractor/brightcove.py @@ -484,6 +484,10 @@ class BrightcoveNewIE(InfoExtractor): formats.extend(self._extract_m3u8_formats( src, video_id, 'mp4', entry_protocol='m3u8_native', 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: streaming_src = source.get('streaming_src') stream_name, app_name = source.get('stream_name'), source.get('app_name') @@ -491,15 +495,23 @@ class BrightcoveNewIE(InfoExtractor): continue tbr = float_or_none(source.get('avg_bitrate'), 1000) height = int_or_none(source.get('height')) + width = int_or_none(source.get('width')) f = { 'tbr': tbr, - 'width': int_or_none(source.get('width')), - 'height': height, 'filesize': int_or_none(source.get('size')), 'container': container, - 'vcodec': source.get('codec'), - 'ext': source.get('container').lower(), + 'ext': 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): format_id = kind |