mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-30 22:25:19 +00:00 
			
		
		
		
	[youtube] Remove the nondash formats (fixes #5774)
Since we use fixed values for some fields like width and height they can be wrong, and would get picked by some formats filters. For example for https://www.youtube.com/watch?v=EQCrhbBxsjA the biggest height is 720 and for nondash formats it's set to 1440, so -f 'bestvideo[height>=1200]+bestaudio' would incorrectly pick the nondash format, instead it should report that the requested format is not available.
This commit is contained in:
		| @@ -1126,12 +1126,13 @@ class YoutubeIE(YoutubeBaseInfoExtractor): | |||||||
|                     self.report_warning( |                     self.report_warning( | ||||||
|                         'Skipping DASH manifest: %r' % e, video_id) |                         'Skipping DASH manifest: %r' % e, video_id) | ||||||
|                 else: |                 else: | ||||||
|                     # Hide the formats we found through non-DASH |                     # Remove the formats we found through non-DASH, they | ||||||
|  |                     # contain less info and it can be wrong, because we use | ||||||
|  |                     # fixed values (for example the resolution). See | ||||||
|  |                     # https://github.com/rg3/youtube-dl/issues/5774 for an | ||||||
|  |                     # example. | ||||||
|                     dash_keys = set(df['format_id'] for df in dash_formats) |                     dash_keys = set(df['format_id'] for df in dash_formats) | ||||||
|                     for f in formats: |                     formats = [f for f in formats if f['format_id'] not in dash_keys] | ||||||
|                         if f['format_id'] in dash_keys: |  | ||||||
|                             f['format_id'] = 'nondash-%s' % f['format_id'] |  | ||||||
|                             f['preference'] = f.get('preference', 0) - 10000 |  | ||||||
|                     formats.extend(dash_formats) |                     formats.extend(dash_formats) | ||||||
|  |  | ||||||
|         # Check for malformed aspect ratio |         # Check for malformed aspect ratio | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Jaime Marquínez Ferrándiz
					Jaime Marquínez Ferrándiz