diff options
author | Remita Amine <remitamine@gmail.com> | 2018-06-24 12:02:16 +0100 |
---|---|---|
committer | Remita Amine <remitamine@gmail.com> | 2018-06-24 12:02:32 +0100 |
commit | 74caf528bc822738dffe231df86ed399fc97a38a (patch) | |
tree | c8e764614e885973d90fa8d11145673afd287591 /youtube_dl/extractor | |
parent | 9fb62e35f6e7d865a73cc310f24ccfa0700e5e26 (diff) |
[brightcove] workaround sonyliv DRM protected videos(closes #16807)
Diffstat (limited to 'youtube_dl/extractor')
-rw-r--r-- | youtube_dl/extractor/brightcove.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/youtube_dl/extractor/brightcove.py b/youtube_dl/extractor/brightcove.py index ab62e54d6..14f9a14ed 100644 --- 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: |