请求的格式与合并不兼容
我在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