如何从具有不同图像持续时间的一系列图像创建视频?

我想以编程方式创建一个由一系列图像组成的视频文件.但是,我还希望能够为每个图像指定持续时间.我经常看到
ffmpeg examples建议用于类似的任务,但它们总是假设每个图像的持续时间相同.有没有一种有效的方法来实现这一目标? (效率低下的解决方案可能是将帧速率设置为高,并重复复制每个图像,直到它与预期的持续时间匹配)

我也会动态生成每个图像,所以如果有办法将图像数据编码成视频帧而不将每个图像写入磁盘,那就更好了.但是,这不是必需的.

编辑:要清楚,我不一定需要使用ffmpeg.其他免费的命令行工具也很好,视频处理库也是如此.我只是在寻找一个好的解决方案.

最佳答案 我能够使用以下命令解决完全相同的问题.

vframes设置为秒数* fps

在该示例中,第一视频具有100帧(100帧/ 25fps = 4秒),第二视频具有200帧(8秒)

ffmpeg -f image2 -loop 1 -vframes 100 -r 25 -i a.jpg -vcodec mpeg4 a.avi
ffmpeg -f image2 -loop 1 -vframes 200 -r 25 -i b.jpg -vcodec mpeg4 b.avi
mencoder -ovc copy -o out.mp4 a.mp4 b.mp4

mencoder部分就像d33pika一样

点赞