我有以下错误消息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
在命令行上传递选项轻松绕过)。
参考:
归档时间: |
|
查看次数: |
28265 次 |
最近记录: |