如何从视频中提取每 10 帧?

Jul*_*lan 4 command-line ffmpeg video conversion

我有一个视频,我想每 10 帧提取一次,因为我收到的图像太多了。

ffmpeg -i out1.avi -r 1 -f image2 image-%3d.jpeg

如何从视频文件中提取图像?

fur*_*ras 8

如果你想要现在拥有的 1/10(当你使用 时-r 1),那么使用

 -r 0.1
Run Code Online (Sandbox Code Playgroud)

它将1 frame every 10 seconds代替1 frame every 1 second.

 ffmpeg -i out1.avi -r 0.1 -f image2 image-%3d.jpeg
Run Code Online (Sandbox Code Playgroud)

编辑:

如果您确实对视频中的每 10 帧感兴趣,那么您可以select使用modulo 10

ffmpeg -i out1.mp4 -vf "select=not(mod(n\,10))" -vsync vfr image_%03d.jpg
Run Code Online (Sandbox Code Playgroud)

但它可能会提供比以前更多的图像。

如果视频每 25 帧给出图像25fps-r 1如果视频60fps每 60 帧给出图像。因此,它提供的图像比每 10 帧获取图像的代码要少。