ffmpeg-从带有开始和结束的图像帧创建视频


18

我从图像帧创建视频,效果很好。问题是我不想使用文件夹中的所有图像。我的文件夹中有200帧,但是我想要1到100的视频

如何具体显示帧数或帧结束?

ffmpeg -start_number n -i test_%d.jpg -vcodec mpeg4 test.avi

我找不到

谢谢!


我对该程序了解不多,但是如果它正在使用特定文件夹中的每个图像,为什么不创建一个新文件夹并仅放入所需的100帧?
philipthegreat 2013年

2
如果不能使用ffmpeg的话,那将是我的“黑客解决方案” :)
DarkPixel 2013年

Answers:


29

您可以通过说明所需的帧数来做到这一点:

-vframes 100  

在您的情况下是如此有效:

ffmpeg -start_number 1 -i test_%d.jpg -vframes 100 -vcodec mpeg4 test.avi

您可能需要pix_fmt根据其他因素指定其他参数,例如etc。

而且,通常一个人使用类似的东西test_%05d.jpg,其编号序列具有前面的零和5位数字。如果您没有这种格式的内容,则可能需要使用通配模式。看到这个


3

这是对我始终有效的代码。

ffmpeg -i yourfile.mp4 -r 1 -ss 15 -t 16 -f image2 snapshot.jpg
                                ^     ^ 
                                ^     ^
                              start  end
                               time   time

时间仅以秒为单位。如果比卷轴提前2分钟,则为120。一个图像文件总值一秒钟,因此可以通过这种方法计算出您想要的图像。

yourfile.mp4 =您的影片剪辑

snapshot.jpg =您的新图像文件

重要信息:单独保留image2。这是获得我想要的唯一方法。


4
我欣赏此命令,因为它适用于ffmpeg我现在必须使用的旧命令;唯一的-t不是“结束时间”,man ffmpeg而是“持续时间”。因此结束时间为开始+持续时间。干杯!
sdaau,2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.