diff --git a/yt_dlp/YoutubeDL.py b/yt_dlp/YoutubeDL.py index 9c4dd3ec5..f009e9e19 100644 --- a/yt_dlp/YoutubeDL.py +++ b/yt_dlp/YoutubeDL.py @@ -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'])