mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 06:35:12 +00:00 
			
		
		
		
	[rtlnl] Remove progressive formats (closes #15459)
This commit is contained in:
		| @@ -93,58 +93,11 @@ class RtlNlIE(InfoExtractor): | |||||||
|  |  | ||||||
|         meta = info.get('meta', {}) |         meta = info.get('meta', {}) | ||||||
|  |  | ||||||
|         # m3u8 streams are encrypted and may not be handled properly by older ffmpeg/avconv. |  | ||||||
|         # To workaround this previously adaptive -> flash trick was used to obtain |  | ||||||
|         # unencrypted m3u8 streams (see https://github.com/rg3/youtube-dl/issues/4118) |  | ||||||
|         # and bypass georestrictions as well. |  | ||||||
|         # Currently, unencrypted m3u8 playlists are (intentionally?) invalid and therefore |  | ||||||
|         # unusable albeit can be fixed by simple string replacement (see |  | ||||||
|         # https://github.com/rg3/youtube-dl/pull/6337) |  | ||||||
|         # Since recent ffmpeg and avconv handle encrypted streams just fine encrypted |  | ||||||
|         # streams are used now. |  | ||||||
|         videopath = material['videopath'] |         videopath = material['videopath'] | ||||||
|         m3u8_url = meta.get('videohost', 'http://manifest.us.rtl.nl') + videopath |         m3u8_url = meta.get('videohost', 'http://manifest.us.rtl.nl') + videopath | ||||||
|  |  | ||||||
|         formats = self._extract_m3u8_formats( |         formats = self._extract_m3u8_formats( | ||||||
|             m3u8_url, uuid, 'mp4', m3u8_id='hls', fatal=False) |             m3u8_url, uuid, 'mp4', m3u8_id='hls', fatal=False) | ||||||
|  |  | ||||||
|         video_urlpart = videopath.split('/adaptive/')[1][:-5] |  | ||||||
|         PG_URL_TEMPLATE = 'http://pg.us.rtl.nl/rtlxl/network/%s/progressive/%s.mp4' |  | ||||||
|  |  | ||||||
|         PG_FORMATS = ( |  | ||||||
|             ('a2t', 512, 288), |  | ||||||
|             ('a3t', 704, 400), |  | ||||||
|             ('nettv', 1280, 720), |  | ||||||
|         ) |  | ||||||
|  |  | ||||||
|         def pg_format(format_id, width, height): |  | ||||||
|             return { |  | ||||||
|                 'url': PG_URL_TEMPLATE % (format_id, video_urlpart), |  | ||||||
|                 'format_id': 'pg-%s' % format_id, |  | ||||||
|                 'protocol': 'http', |  | ||||||
|                 'width': width, |  | ||||||
|                 'height': height, |  | ||||||
|             } |  | ||||||
|  |  | ||||||
|         if not formats: |  | ||||||
|             formats = [pg_format(*pg_tuple) for pg_tuple in PG_FORMATS] |  | ||||||
|         else: |  | ||||||
|             pg_formats = [] |  | ||||||
|             for format_id, width, height in PG_FORMATS: |  | ||||||
|                 try: |  | ||||||
|                     # Find hls format with the same width and height corresponding |  | ||||||
|                     # to progressive format and copy metadata from it. |  | ||||||
|                     f = next(f for f in formats if f.get('height') == height) |  | ||||||
|                     # hls formats may have invalid width |  | ||||||
|                     f['width'] = width |  | ||||||
|                     f_copy = f.copy() |  | ||||||
|                     f_copy.update(pg_format(format_id, width, height)) |  | ||||||
|                     pg_formats.append(f_copy) |  | ||||||
|                 except StopIteration: |  | ||||||
|                     # Missing hls format does mean that no progressive format with |  | ||||||
|                     # such width and height exists either. |  | ||||||
|                     pass |  | ||||||
|             formats.extend(pg_formats) |  | ||||||
|         self._sort_formats(formats) |         self._sort_formats(formats) | ||||||
|  |  | ||||||
|         thumbnails = [] |         thumbnails = [] | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Sergey M․
					Sergey M․