diff --git a/yt_dlp/__init__.py b/yt_dlp/__init__.py index 2e7646b7e..f17f565ff 100644 --- a/yt_dlp/__init__.py +++ b/yt_dlp/__init__.py @@ -500,6 +500,15 @@ def metadataparser_actions(f): 'To let yt-dlp download and merge the best available formats, simply do not pass any format selection', 'If you know what you are doing and want only the best pre-merged format, use "-f b" instead to suppress this warning'))) + # Common mistake: -f mp4 + if opts.format == 'mp4': + warnings.append('.\n '.join(( + '"-f mp4" selects the best pre-merged mp4 format which is most likely not what you want', + 'Many websites do not provide pre-merged mp4 formats. So this will either not work or limit you to low quality formats', + 'To download the best h264 video and aac audio in an mp4 container, use "-t mp4" instead', + 'This will cause yt-dlp to pick and merge the appropriate formats', + 'If you know what you are doing and want only the best pre-merged mp4 format, use "-f b[ext=mp4]" instead to suppress this warning'))) + # --(postprocessor/downloader)-args without name def report_args_compat(name, value, key1, key2=None, where=None): if key1 in value and key2 not in value: