如何使ffmpeg自动填充帧?

如何使ffmpeg自动填充帧?,ffmpeg,Ffmpeg,我想用ffmpeg将一系列图像转换成视频,图像是实时获取的,获取图像的时间间隔是可变的,也许我会在1秒甚至1毫秒内获得下一幅图像。 我希望目标视频以一种特殊的fps(如100帧)播放,现在我的工具正在创建一个循环,使最后一幅图像淡入淡出,然后进入睡眠状态(如10毫秒) 你们知道一些可以让ffmpeg自动填充帧的选项吗 如果这个选项真的存在,我想知道是否有可能使视频成为真正的fps是它声称的一半 我的ffmpeg命令如下所示: ffmpeg -f image2pipe -r 100 -i pipe

我想用ffmpeg将一系列图像转换成视频,图像是实时获取的,获取图像的时间间隔是可变的,也许我会在1秒甚至1毫秒内获得下一幅图像。 我希望目标视频以一种特殊的fps(如100帧)播放,现在我的工具正在创建一个循环,使最后一幅图像淡入淡出,然后进入睡眠状态(如10毫秒)

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

如果这个选项真的存在,我想知道是否有可能使视频成为真正的fps是它声称的一半

我的ffmpeg命令如下所示:

ffmpeg -f image2pipe -r 100 -i pipe:0 -f flv -r 100 pipe: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
,使帧之间的间隔仅为毫秒。

是否插入帧或复制帧,直到接收到下一个输入帧?是,我希望ffmpeg使用接收到的最后一个图像