[bbc] extract only the original Unified Streaming Platform m3u8 manifests

0385aa6199 (commitcomment-18233275)
manifests with higher birate require more time to check formats
This commit is contained in:
Remita Amine 2016-07-13 17:39:56 +01:00
parent c485959034
commit 35ec86689c

View File

@ -44,8 +44,6 @@ class BBCCoUkIE(InfoExtractor):
_MEDIASELECTION_NS = 'http://bbc.co.uk/2008/mp/mediaselection' _MEDIASELECTION_NS = 'http://bbc.co.uk/2008/mp/mediaselection'
_EMP_PLAYLIST_NS = 'http://bbc.co.uk/2008/emp/playlist' _EMP_PLAYLIST_NS = 'http://bbc.co.uk/2008/emp/playlist'
# Unified Streaming Platform
_USP_RE = r'/([^/]+)\.ism(?:\.hlsv2\.ism)?/[^/]+\.m3u8'
_NAMESPACES = ( _NAMESPACES = (
_MEDIASELECTION_NS, _MEDIASELECTION_NS,
@ -246,15 +244,9 @@ class BBCCoUkIE(InfoExtractor):
elif transfer_format == 'dash': elif transfer_format == 'dash':
pass pass
elif transfer_format == 'hls': elif transfer_format == 'hls':
is_unified_streaming = re.search(self._USP_RE, href) formats.extend(self._extract_m3u8_formats(
if is_unified_streaming: href, programme_id, 'mp4', 'm3u8_native',
href = re.sub(self._USP_RE, r'/\1.ism/\1.m3u8', href) m3u8_id=supplier, fatal=False))
m3u8_formats = self._extract_m3u8_formats(
href, programme_id, ext='mp4', entry_protocol='m3u8_native',
m3u8_id=supplier, fatal=False)
if is_unified_streaming:
self._check_formats(m3u8_formats, programme_id)
formats.extend(m3u8_formats)
# Direct link # Direct link
else: else:
formats.append({ formats.append({