diff options
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:  | 
