【发布时间】:2014-01-17 19:39:05
【问题描述】:
我正在尝试使用 FFMPEG 使用 libx264 编解码器从一组帧中编码 .mp4 视频。
这是我正在运行的命令:
/usr/local/bin/ffmpeg -r 24 -i frame_%05d.jpg -vcodec libx264 -y -an video.mp4
我有时会收到以下错误:
[libx264 @ 0xa3b85a0] height not divisible by 2 (520x369)
经过一番搜索后,问题似乎与缩放算法有关,可以通过添加 -vf 参数来解决。
但是,就我而言,我不想进行任何缩放。理想情况下,我想保持尺寸与框架完全相同。有什么建议吗? h264 是否强制执行某种纵横比?
【问题讨论】:
-
@AleksandrDubinsky 但是 LordNeckbeard 的回答没有保留原始宽度和高度。这里我们需要手动指定宽度或高度。如果 w 使用 -vf scale=-2:ih 或 -vf scale =iw:-2 如果高度和宽度都不均匀,这将不起作用..请解释这个答案如何更优化?..谢谢
-
@varmashrivastava 好吧,SO 的工作方式是,最初可能有一个问题,然后谷歌发送了一群有不同问题的人,然后他们劫持了页面。就是这样,尽量不要与之抗争。原始问题的正确答案是
-vf pad="width=ceil(iw/2)*2:height=ceil(ih/2)*2",这甚至不是答案之一。其他人的问题的正确答案是 LordNeckbeard 的。 -
@varmashrivastava 我已经解决了第一个答案。希望它不会被模组破坏。
-
@AleksandrDubinsky 谢谢..如果他/她不想要彩色填充像素,用户可以使用
"scale="而不是"pad="?