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

Dar*_*xel 24 video ffmpeg

使用ffmpeg,我从多张图像中制作了一个视频,下面是有效的,但是我不想在我的文件夹中使用所有 200 张图像,希望视频只包含 1 到 100 的图像:

ffmpeg -start_number n -i test_%d.jpg -vcodec mpeg4 test.avi
Run Code Online (Sandbox Code Playgroud)

如何指定要包含在视频中的帧数或结束帧数?

Raj*_*jib 39

你可以通过说明你想要的帧数来做到这一点-vframes 100

ffmpeg -start_number 1 -i test_%d.jpg -vframes 100 -vcodec mpeg4 test.avi
Run Code Online (Sandbox Code Playgroud)
  • 您可能需要pix_fmt根据其他因素指定其他参数,例如等,并且通常使用类似test_%05d.jpg带有前五位零的编号序列;如果您没有这种格式,则可能需要使用globbing 模式

  • 好答案。请注意,vframe 的放置很重要。您不能将其直接放在输出参数之前。 (2认同)

Far*_*ron 6

这对我来说总是很有效:

ffmpeg -i yourfile.mp4 -r 1 -ss 15 -t 16 -f image2 snapshot.jpg
                                ^     ^ 
                                ^     ^
                              start  end
                               time   time
Run Code Online (Sandbox Code Playgroud)
  • yourfile.mp4: 电影剪辑
  • snapshot.jpg:新的图像文件
  • 重要提示:别管它image2,因为这是获得我想要的东西的唯一方法

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

  • 我很欣赏这个命令,因为它可以与我现在必须使用的旧“ffmpeg”一起使用;唯一的事情是 `-t` 不是“结束时间”,“man ffmpeg”表示它是“持续时间”;所以结束时间将是开始+持续时间。干杯! (5认同)