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

标签 image video ffmpeg

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

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

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

最佳答案

我能够使用以下命令解决完全相同的问题。 vframes 设置为秒数 * fps 在示例中,第一个视频有 100 帧(100 帧/25 fps = 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一样

关于image - 如何从一系列具有不同图像持续时间的图像创建视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13969239/

相关文章:

c# - 如何在WinForms中显示图片然后删除?

image - 模板匹配归一化互相关的特殊情况

html - 背景视频,始终缩放到高度,如果需要裁剪宽度

video - ffmpeg调整大小+连接

用于调整 Blogger 帖子中照片大小的 JavaScript

创建的 Python 文件不保存为 python 文件

android - 如何在android中将视频上传到youtube?

java - FFmpeg 使用 Java 运行时在 Mac 上使用目录名称中的空格从 PNG 制作视频

没有 vhook 的 ffmpeg 日期时间覆盖

来自两个摄像头的 ffmpeg 流视频具有相同的设备名称