如何让ffmpeg自动填充帧?

时间:2018-05-08 07:04:06

标签: ffmpeg

我想使用ffmpeg将图像序列转换为视频,图像是实时获取的,获取图像的间隔是可变的,也许我可以在1秒甚至1毫秒内得到下一张图像。 我希望目标视频采用特殊的fps(如100),现在我的工具正在创建一个循环,它会使ffmpeg最后一个图像淡入淡出然后再睡眠(如10ms)。

你们知道一些选项可以让ffmpeg自动填充帧吗?

如果该选项确实存在,我想知道是否有可能使视频真实fps成为声称的一半。

我的ffmpeg命令如下:

ffmpeg -f image2pipe -r 100 -i pipe:0 -f flv -r 100 pipe:1

1 个答案:

答案 0 :(得分:1)

您可以使用

ffmpeg -f image2pipe -use_wallclock_as_timestamps 1 -i pipe:0 -f flv -vsync cfr -r 100 pipe:1

FFmpeg会将每个传入帧的时间戳设置为接收时间。如果设置输出速率并且模式是恒定帧速率,则ffmpeg将复制最后一帧直到接收到下一个输入帧,或者如果两个帧小于10ms则丢弃。将-r更改为1000以保持帧仅相隔毫秒。