ffmpeg 图像 + 音频到视频 [错误宽度不能被 2 整除 (2001x2048)]

ffmpeg image + audio to video [ERROR width not divisible by 2 (2001x2048)]

我正在尝试使用 ffmpeg 获取音频文件、图像并渲染视频。我需要正确编码此视频才能上传到 YouTube,但 运行 出现错误提示:

[libx264 @ 0x7fffbc28a380] width not divisible by 2 (2001x2048) 
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

使用以下命令渲染视频后出现此错误:

$ ffmpeg -loop 1 -framerate 2 -i 'front.jpg' -i 'output.mp3' -c:v libx264 -preset medium -tune stillimage -crf 18 -c:a copy -shortest -pix_fmt yuv420p outputReEncoded.mkv

图像是正方形,所以我不希望我的输出视频文件不拉伸图像,而只是将正方形图像放在黑色背景上。我在使用缩放来固定宽度时遇到问题,任何人都可以帮助我修复我的 ffmpeg 语句,以便我的视频能够正确呈现,并可以上传到 YouTube 吗?感谢

您可以使用缩放过滤器。

ffmpeg -loop 1 -framerate 2 -i 'front.jpg' -i 'output.mp3' -vf "scale=2*trunc(iw/2):2*trunc(ih/2),setsar=1" -c:v libx264 -preset medium -tune stillimage -crf 18 -c:a copy -shortest -pix_fmt yuv420p outputReEncoded.mkv

已添加 setsar 滤镜,使 pixel/sample 长宽比为正方形,这是 Youtube 推荐的。