1
1
mirror of https://github.com/ytdl-org/youtube-dl synced 2024-11-09 07:47:06 +01:00

[limelight] skip preview and drm protected videos

This commit is contained in:
Remita Amine 2016-08-01 00:33:30 +01:00
parent 116e7e0d04
commit e382b953f0

View File

@ -37,11 +37,12 @@ class LimelightBaseIE(InfoExtractor):
for stream in streams: for stream in streams:
stream_url = stream.get('url') stream_url = stream.get('url')
if not stream_url: if not stream_url or stream.get('previewStream') or stream.get('drmProtected'):
continue continue
if '.f4m' in stream_url: ext = determine_ext(stream_url)
if ext == 'f4m':
formats.extend(self._extract_f4m_formats( formats.extend(self._extract_f4m_formats(
stream_url, video_id, fatal=False)) stream_url, video_id, f4m_id='hds', fatal=False))
else: else:
fmt = { fmt = {
'url': stream_url, 'url': stream_url,
@ -50,7 +51,7 @@ class LimelightBaseIE(InfoExtractor):
'fps': float_or_none(stream.get('videoFrameRate')), 'fps': float_or_none(stream.get('videoFrameRate')),
'width': int_or_none(stream.get('videoWidthInPixels')), 'width': int_or_none(stream.get('videoWidthInPixels')),
'height': int_or_none(stream.get('videoHeightInPixels')), 'height': int_or_none(stream.get('videoHeightInPixels')),
'ext': determine_ext(stream_url) 'ext': ext,
} }
rtmp = re.search(r'^(?P<url>rtmpe?://[^/]+/(?P<app>.+))/(?P<playpath>mp4:.+)$', stream_url) rtmp = re.search(r'^(?P<url>rtmpe?://[^/]+/(?P<app>.+))/(?P<playpath>mp4:.+)$', stream_url)
if rtmp: if rtmp:
@ -68,18 +69,23 @@ 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')
if not media_url:
continue
format_id = mobile_url.get('targetMediaPlatform') format_id = mobile_url.get('targetMediaPlatform')
if determine_ext(media_url) == 'm3u8': if not media_url or format_id == 'Widevine':
continue
ext = determine_ext(media_url)
if ext == 'm3u8':
formats.extend(self._extract_m3u8_formats( formats.extend(self._extract_m3u8_formats(
media_url, video_id, 'mp4', 'm3u8_native', media_url, video_id, 'mp4', 'm3u8_native',
m3u8_id=format_id, fatal=False)) m3u8_id=format_id, fatal=False))
elif ext == 'f4m':
formats.extend(self._extract_f4m_formats(
stream_url, video_id, f4m_id=format_id, fatal=False))
else: else:
formats.append({ formats.append({
'url': media_url, 'url': media_url,
'format_id': format_id, 'format_id': format_id,
'preference': -1, 'preference': -1,
'ext': ext,
}) })
self._sort_formats(formats) self._sort_formats(formats)
@ -145,7 +151,7 @@ class LimelightMediaIE(LimelightBaseIE):
'url': 'http://link.videoplatform.limelight.com/media/?mediaId=3ffd040b522b4485b6d84effc750cd86', 'url': 'http://link.videoplatform.limelight.com/media/?mediaId=3ffd040b522b4485b6d84effc750cd86',
'info_dict': { 'info_dict': {
'id': '3ffd040b522b4485b6d84effc750cd86', 'id': '3ffd040b522b4485b6d84effc750cd86',
'ext': 'flv', 'ext': 'mp4',
'title': 'HaP and the HB Prince Trailer', 'title': 'HaP and the HB Prince Trailer',
'description': 'md5:8005b944181778e313d95c1237ddb640', 'description': 'md5:8005b944181778e313d95c1237ddb640',
'thumbnail': 're:^https?://.*\.jpeg$', 'thumbnail': 're:^https?://.*\.jpeg$',
@ -154,7 +160,7 @@ class LimelightMediaIE(LimelightBaseIE):
'upload_date': '20090604', 'upload_date': '20090604',
}, },
'params': { 'params': {
# rtmp download # m3u8 download
'skip_download': True, 'skip_download': True,
}, },
}, { }, {
@ -164,7 +170,6 @@ class LimelightMediaIE(LimelightBaseIE):
'id': 'a3e00274d4564ec4a9b29b9466432335', 'id': 'a3e00274d4564ec4a9b29b9466432335',
'ext': 'flv', 'ext': 'flv',
'title': '3Play Media Overview Video', 'title': '3Play Media Overview Video',
'description': '',
'thumbnail': 're:^https?://.*\.jpeg$', 'thumbnail': 're:^https?://.*\.jpeg$',
'duration': 78.101, 'duration': 78.101,
'timestamp': 1338929955, 'timestamp': 1338929955,
@ -172,7 +177,7 @@ class LimelightMediaIE(LimelightBaseIE):
'subtitles': 'mincount:9', 'subtitles': 'mincount:9',
}, },
'params': { 'params': {
# rtmp download # m3u8 download
'skip_download': True, 'skip_download': True,
}, },
}, { }, {