ffmpeg 可以将图像组合成每个图像具有特定持续时间的视频吗? 例如,我希望1.jpg显示100毫秒,2.jpg显示120毫秒,3.jpg显示115毫秒,等等..ffmpeg可以做到这一点吗?
我有一堆图像,每个图像都有自己的时间戳,时间戳决定每个图像在视频中的长度..
这类似于问题 Conversion of images to video withvariable fps using FFmpeg ,但与那篇文章不同,我不需要逐渐增加,但我更需要指定每个图像的持续时间。
首先制作一个 input.txt 文件,如下所示
file '1.jpg'
duration 0.1
file '2.jpg'
duration 0.12
file '3.jpg'
duration 0.115
(其中
duration
是秒数,0.115秒就是115毫秒~)
然后简单地做
ffmpeg -f concat -i input.txt -vsync vfr output.mp4
这适用于所有帧除了最后一帧,无论
duration
规格如何,它都只会显示几分之一秒。 (我不知道为什么 ffmpeg 在最后一帧失败,也许这是一个错误?)