[youtube] Add support for rental videos' previews (Closes #10532)
This commit is contained in:
		| @@ -844,6 +844,24 @@ class YoutubeIE(YoutubeBaseInfoExtractor): | ||||
|             # YouTube Red paid video (https://github.com/rg3/youtube-dl/issues/10059) | ||||
|             'url': 'https://www.youtube.com/watch?v=i1Ko8UG-Tdo', | ||||
|             '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 | ||||
|                     video_info = dict((k, [v]) for k, v in args.items()) | ||||
|                     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: | ||||
|                     is_live = True | ||||
|             if not video_info or self._downloader.params.get('youtube_include_dash_manifest', True): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user