我一直在使用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!
我已经得出结论,它失败的原因与帧大小有关,因为这是第一个成功的动画与失败的动画之间唯一的不同。但是,我的直觉可能是错误的(?)。我尝试删除命令中的scaleing参数,但出现相同的错误。
我在Mac OSX 10.13上通过python使用ffmpeg版本3.4.2。
任何帮助将不胜感激。谢谢!
答案 0 :(得分:1)
当编码为4:2:0时,两个尺寸都必须是偶数。
所以
scale=-2:ih-mod(ih,2)