ffmpeg为输出视频添加了不必要的帧

时间:2014-07-01 18:46:54

标签: video ffmpeg

我有一系列png图像,我需要转换为以60帧/秒播放的视频。

ffmpeg -y -i frames/%4d.png -vcodec libx264 -r 60 video.avi

上面的代码导致视频每秒有60帧,但它使用相同的帧两到三次,有效地结束了25-f五次视频的两倍。我做错了什么?

1 个答案:

答案 0 :(得分:1)

一些ffmpeg参数是位置依赖。 ffmpeg通过它提供了一些提示:

# ffmpeg -h
...
Global options (affect whole program instead of just one file:
-loglevel loglevel  set logging level
...
Per-file main options:
-f fmt              force format
...
# 

-r是这些参数的开头,这些参数是按文件指定的。

为了使参数适应输入文件,您必须在相应的-r参数之前编写-i参数

所以下面应该适合你(使用mpeg4编码器为我工作):

ffmpeg -y -r 60 -i frames/%4d.png -vcodec libx264 video.avi

您也可以尝试,因为libx264编码器可能无法调整帧速率:

ffmpeg -y -r 60 -i frames/%4d.png -vcodec libx264 -r 60 video.avi