commit 74caf528bc822738dffe231df86ed399fc97a38a
parent 9fb62e35f6e7d865a73cc310f24ccfa0700e5e26
Author: Remita Amine <remitamine@gmail.com>
Date:   Sun, 24 Jun 2018 12:02:16 +0100

[brightcove] workaround sonyliv DRM protected videos(closes #16807)

Diffstat:
Myoutube_dl/extractor/brightcove.py | 11++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/youtube_dl/extractor/brightcove.py b/youtube_dl/extractor/brightcove.py @@ -572,7 +572,8 @@ class BrightcoveNewIE(AdobePassIE): container = source.get('container') ext = mimetype2ext(source.get('type')) src = source.get('src') - if ext == 'ism' or container == 'WVM': + # https://support.brightcove.com/playback-api-video-fields-reference#key_systems_object + if ext == 'ism' or container == 'WVM' or source.get('key_systems'): continue elif ext == 'm3u8' or container == 'M2TS': if not src: @@ -629,6 +630,14 @@ class BrightcoveNewIE(AdobePassIE): 'format_id': build_format_id('rtmp'), }) formats.append(f) + if not formats: + # for sonyliv.com DRM protected videos + s3_source_url = json_data.get('custom_fields', {}).get('s3sourceurl') + if s3_source_url: + formats.append({ + 'url': s3_source_url, + 'format_id': 'source', + }) errors = json_data.get('errors') if not formats and errors: