[youtube] Add support for rental videos' previews (Closes #10532)
This commit is contained in:
parent
3fcce30289
commit
6496ccb413
|
@ -844,6 +844,24 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
||||||
# YouTube Red paid video (https://github.com/rg3/youtube-dl/issues/10059)
|
# YouTube Red paid video (https://github.com/rg3/youtube-dl/issues/10059)
|
||||||
'url': 'https://www.youtube.com/watch?v=i1Ko8UG-Tdo',
|
'url': 'https://www.youtube.com/watch?v=i1Ko8UG-Tdo',
|
||||||
'only_matching': True,
|
'only_matching': True,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
# Rental video preview
|
||||||
|
'url': 'https://www.youtube.com/watch?v=yYr8q0y5Jfg',
|
||||||
|
'info_dict': {
|
||||||
|
'id': 'uGpuVWrhIzE',
|
||||||
|
'ext': 'mp4',
|
||||||
|
'title': 'Piku - Trailer',
|
||||||
|
'description': 'md5:c36bd60c3fd6f1954086c083c72092eb',
|
||||||
|
'upload_date': '20150811',
|
||||||
|
'uploader': 'FlixMatrix',
|
||||||
|
'uploader_id': 'FlixMatrixKaravan',
|
||||||
|
'uploader_url': 're:https?://(?:www\.)?youtube\.com/user/FlixMatrixKaravan',
|
||||||
|
'license': 'Standard YouTube License',
|
||||||
|
},
|
||||||
|
'params': {
|
||||||
|
'skip_download': True,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -1254,6 +1272,12 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
||||||
# Convert to the same format returned by compat_parse_qs
|
# Convert to the same format returned by compat_parse_qs
|
||||||
video_info = dict((k, [v]) for k, v in args.items())
|
video_info = dict((k, [v]) for k, v in args.items())
|
||||||
add_dash_mpd(video_info)
|
add_dash_mpd(video_info)
|
||||||
|
# Rental video is not rented but preview is available (e.g.
|
||||||
|
# https://www.youtube.com/watch?v=yYr8q0y5Jfg,
|
||||||
|
# https://github.com/rg3/youtube-dl/issues/10532)
|
||||||
|
if not video_info and args.get('ypc_vid'):
|
||||||
|
return self.url_result(
|
||||||
|
args['ypc_vid'], YoutubeIE.ie_key(), video_id=args['ypc_vid'])
|
||||||
if args.get('livestream') == '1' or args.get('live_playback') == 1:
|
if args.get('livestream') == '1' or args.get('live_playback') == 1:
|
||||||
is_live = True
|
is_live = True
|
||||||
if not video_info or self._downloader.params.get('youtube_include_dash_manifest', True):
|
if not video_info or self._downloader.params.get('youtube_include_dash_manifest', True):
|
||||||
|
|
Loading…
Reference in New Issue