1
mirror of https://github.com/yt-dlp/yt-dlp synced 2024-11-28 16:33:24 +01:00

Fix -f mp4 behaving differently from youtube-dl

This commit is contained in:
pukkandan 2021-10-04 02:55:11 +05:30
parent 5d535b4a55
commit b11c04a8ae
No known key found for this signature in database
GPG Key ID: 0F00D95A001F4698

View File

@ -1944,9 +1944,14 @@ class YoutubeDL(object):
filter_f = lambda f: _filter_f(f) and (
f.get('vcodec') != 'none' or f.get('acodec') != 'none')
else:
filter_f = ((lambda f: f.get('ext') == format_spec)
if format_spec in ['mp4', 'flv', 'webm', '3gp', 'm4a', 'mp3', 'ogg', 'aac', 'wav'] # extension
else (lambda f: f.get('format_id') == format_spec)) # id
if format_spec in ('m4a', 'mp3', 'ogg', 'aac'): # audio extension
filter_f = lambda f: f.get('ext') == format_spec and f.get('acodec') != 'none'
elif format_spec in ('mp4', 'flv', 'webm', '3gp'): # video extension
filter_f = lambda f: f.get('ext') == format_spec and f.get('acodec') != 'none' and f.get('vcodec') != 'none'
elif format_spec in ('mhtml', ): # storyboards extension
filter_f = lambda f: f.get('ext') == format_spec and f.get('acodec') == 'none' and f.get('vcodec') == 'none'
else:
filter_f = (lambda f: f.get('format_id') == format_spec) # id
def selector_function(ctx):
formats = list(ctx['formats'])