请求的格式与合并不兼容

我在youtube-dl有以下错误消息:

 WARNING: Requested formats are incompatible for merge and will be merged into mkv. 

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

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

例如,如果这些“最佳”流是不适合在mp4容器中使用的编解码器,则youtube-dl会将它们打包到mkv容器中并发出您已看到的警告。 请注意,vlc,SMPlayer和朋友将播放生成的mkv文件,在配置良好的Ubuntu系统上没有问题…

但是,如果您真的热衷于获得最佳质量的video和最优质的video音频,但只能在mp4容器中 (因此绕过mkv警告和随后的youtube-dl Matrosk容器输出),您可以使用如下内容:

 youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]' URL 

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

 -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]' 

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

这个命令行的许多变种都是可能的……

参考文献:

  • youtube-dl格式选择
  • youtube-dl配置文件

选择一种格式:

 youtube-dl -f mp4 URL youtube-dl -f webm URL youtube-dl -F URL //for available formats