首页 > 解决方案 > 制作具有特定帧尺寸的动画时出现 FFMPEG 错误

问题描述

我一直在使用 ffmpeg 使用以下命令成功生成大小为 7205x4308 的 png 图像的动画:

-framerate 25 -f image2 -start_number 1 -i fig%4d.png -f mp4 -vf scale=-2:ih -vcodec libx264 -pix_fmt yuv420p 2015-2018.mp4

当我尝试对一组具有不同大小(例如 6404x5575)的图像运行相同的命令时,我收到以下错误:

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
Conversion failed!

我得出的结论是,它失败的原因与帧大小有关,因为这是第一个成功动画和失败动画之间唯一不同的地方。但是,我的直觉可能是错误的(?)。我试图删除命令中的缩放参数,但我得到了同样的错误。

我通过 python 在 Mac OSX 10.13 上使用 ffmpeg 版本 3.4.2。

任何帮助将非常感激。谢谢!

标签: animationffmpegpngdimension

解决方案


编码为 4:2:0 时,两个维度必须均匀。

所以,

scale=-2:ih-mod(ih,2)

推荐阅读