[brightcove] change the protocol for m3u8 formats to m3u8_native

This commit is contained in:
remitamine 2016-05-13 08:35:38 +01:00
parent 18cf6381f6
commit ad55e10165

View file

@ -307,9 +307,10 @@ def _get_playlist_info(self, player_key):
playlist_title=playlist_info['mediaCollectionDTO']['displayName']) playlist_title=playlist_info['mediaCollectionDTO']['displayName'])
def _extract_video_info(self, video_info): def _extract_video_info(self, video_info):
video_id = compat_str(video_info['id'])
publisher_id = video_info.get('publisherId') publisher_id = video_info.get('publisherId')
info = { info = {
'id': compat_str(video_info['id']), 'id': video_id,
'title': video_info['displayName'].strip(), 'title': video_info['displayName'].strip(),
'description': video_info.get('shortDescription'), 'description': video_info.get('shortDescription'),
'thumbnail': video_info.get('videoStillURL') or video_info.get('thumbnailURL'), 'thumbnail': video_info.get('videoStillURL') or video_info.get('thumbnailURL'),
@ -331,7 +332,8 @@ def _extract_video_info(self, video_info):
url_comp = compat_urllib_parse_urlparse(url) url_comp = compat_urllib_parse_urlparse(url)
if url_comp.path.endswith('.m3u8'): if url_comp.path.endswith('.m3u8'):
formats.extend( formats.extend(
self._extract_m3u8_formats(url, info['id'], 'mp4')) self._extract_m3u8_formats(
url, video_id, 'mp4', 'm3u8_native', m3u8_id='hls', fatal=False))
continue continue
elif 'akamaihd.net' in url_comp.netloc: elif 'akamaihd.net' in url_comp.netloc:
# This type of renditions are served through # This type of renditions are served through
@ -365,7 +367,7 @@ def _extract_video_info(self, video_info):
a_format.update({ a_format.update({
'format_id': 'hls%s' % ('-%s' % tbr if tbr else ''), 'format_id': 'hls%s' % ('-%s' % tbr if tbr else ''),
'ext': 'mp4', 'ext': 'mp4',
'protocol': 'm3u8', 'protocol': 'm3u8_native',
}) })
formats.append(a_format) formats.append(a_format)
@ -395,7 +397,7 @@ def _extract_video_info(self, video_info):
return ad_info return ad_info
if 'url' not in info and not info.get('formats'): if 'url' not in info and not info.get('formats'):
raise ExtractorError('Unable to extract video url for %s' % info['id']) raise ExtractorError('Unable to extract video url for %s' % video_id)
return info return info
@ -527,7 +529,7 @@ def _real_extract(self, url):
if not src: if not src:
continue continue
formats.extend(self._extract_m3u8_formats( formats.extend(self._extract_m3u8_formats(
src, video_id, 'mp4', m3u8_id='hls', fatal=False)) src, video_id, 'mp4', 'm3u8_native', m3u8_id='hls', fatal=False))
elif source_type == 'application/dash+xml': elif source_type == 'application/dash+xml':
if not src: if not src:
continue continue