mirror of
https://github.com/ytdl-org/youtube-dl.git
synced 2024-01-07 17:16:08 +00:00
[limelight] skip ism manifests and reduce requests
This commit is contained in:
parent
7a3e849f6e
commit
f8fd510eb4
|
@ -34,11 +34,12 @@ class LimelightBaseIE(InfoExtractor):
|
||||||
def _extract_info(self, streams, mobile_urls, properties):
|
def _extract_info(self, streams, mobile_urls, properties):
|
||||||
video_id = properties['media_id']
|
video_id = properties['media_id']
|
||||||
formats = []
|
formats = []
|
||||||
|
urls = []
|
||||||
for stream in streams:
|
for stream in streams:
|
||||||
stream_url = stream.get('url')
|
stream_url = stream.get('url')
|
||||||
if not stream_url or stream.get('drmProtected'):
|
if not stream_url or stream.get('drmProtected') or stream_url in urls:
|
||||||
continue
|
continue
|
||||||
|
urls.append(stream_url)
|
||||||
ext = determine_ext(stream_url)
|
ext = determine_ext(stream_url)
|
||||||
if ext == 'f4m':
|
if ext == 'f4m':
|
||||||
formats.extend(self._extract_f4m_formats(
|
formats.extend(self._extract_f4m_formats(
|
||||||
|
@ -58,9 +59,11 @@ class LimelightBaseIE(InfoExtractor):
|
||||||
format_id = 'rtmp'
|
format_id = 'rtmp'
|
||||||
if stream.get('videoBitRate'):
|
if stream.get('videoBitRate'):
|
||||||
format_id += '-%d' % int_or_none(stream['videoBitRate'])
|
format_id += '-%d' % int_or_none(stream['videoBitRate'])
|
||||||
|
http_url = 'http://%s/%s' % (rtmp.group('host').replace('csl.', 'cpl.'), rtmp.group('playpath')[4:])
|
||||||
|
urls.append(http_url)
|
||||||
http_fmt = fmt.copy()
|
http_fmt = fmt.copy()
|
||||||
http_fmt.update({
|
http_fmt.update({
|
||||||
'url': 'http://%s/%s' % (rtmp.group('host').replace('csl.', 'cpl.'), rtmp.group('playpath')[4:]),
|
'url': http_url,
|
||||||
'format_id': format_id.replace('rtmp', 'http'),
|
'format_id': format_id.replace('rtmp', 'http'),
|
||||||
})
|
})
|
||||||
formats.append(http_fmt)
|
formats.append(http_fmt)
|
||||||
|
@ -76,8 +79,9 @@ class LimelightBaseIE(InfoExtractor):
|
||||||
for mobile_url in mobile_urls:
|
for mobile_url in mobile_urls:
|
||||||
media_url = mobile_url.get('mobileUrl')
|
media_url = mobile_url.get('mobileUrl')
|
||||||
format_id = mobile_url.get('targetMediaPlatform')
|
format_id = mobile_url.get('targetMediaPlatform')
|
||||||
if not media_url or format_id == 'Widevine':
|
if not media_url or format_id in ('Widevine', 'SmoothStreaming') or media_url in urls:
|
||||||
continue
|
continue
|
||||||
|
urls.append(media_url)
|
||||||
ext = determine_ext(media_url)
|
ext = determine_ext(media_url)
|
||||||
if ext == 'm3u8':
|
if ext == 'm3u8':
|
||||||
formats.extend(self._extract_m3u8_formats(
|
formats.extend(self._extract_m3u8_formats(
|
||||||
|
|
Loading…
Reference in a new issue