请求的格式不兼容合并

AHM*_*del 32 youtube-dl

我有以下错误消息youtube-dl

WARNING: Requested formats are incompatible for merge and will be merged into mkv.
Run Code Online (Sandbox Code Playgroud)

and*_*.46 58

这是不是一个真正的问题,但实际上是一个预期的行为youtube-dl

默认情况下,当前版本youtube-dl将下载可用的最高质量音频和最高质量视频流,然后将这些流加入兼容的容器中。当前选择的容器有 mkv、mp4、ogg、webm、flv。(我注意到该--recode-video选项也支持 avi 。)

例如,如果这些“最佳”流是不能很好地放在 mp4 容器中的编解码器,youtube-dl则会将它们打包到 mkv 容器中并发出您所看到的警告。请注意,vlc、SMPlayer 和朋友将在配置良好的 Ubuntu 系统上播放生成的 mkv 文件,而不会出现任何问题...

但是,如果您真的很想获得最优质的视频和最优质的视频音频,但只在 mp4 容器中(从而绕过 mkv 警告和随后的 Matrosk 容器输出youtube-dl),您可以使用以下内容:

youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]' URL
Run Code Online (Sandbox Code Playgroud)

显然,将“URL”值替换为您要下载的 youtube 视频的地址。这样一个比较复杂的命令行可以永久放在配置文件中~/.config/youtube-dl/config,如下:

-f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]'
Run Code Online (Sandbox Code Playgroud)

将上面的行放在 youtube-dl 配置文件中,设置将成为默认设置youtube-dl不需要每次都在命令行上给出。(如果需要,可以通过--ignore-config在命令行上传递选项轻松绕过)。

这个命令行的很多很多变体都是可能的......

参考: