2010-06-09 95 views
8

Linux上的什么程序可让您将AVI中的所有帧转换为一系列 JPEG文件?在Linux上将AVI帧转换为JPG

+0

[如何将avi文件转换为使用.net格式的jpg图片数组]可能的重复(http://stackoverflow.com/questions/2724542/how-to-convert-avi-file-to-an-jpgs- images-array-using-net) – Cerin 2010-06-09 01:50:37

回答

11

使用ffmpeg。

ffmpeg -i infile.avi -f image2 image-%03d.jpg 

检查计算器出来this answer,由克里斯·S.

指出,我还发现this一篇题为"Creating Animated Screenshots on Linux"哪些细节在使用mencoder捕捉连续截图的过程。 (本文最后讨论了将这些屏幕截图并将其编码为另一种格式,但您可以忽略该部分。)

+0

为了同样的目的,我使用了上面的这一行,它似乎工作,除非不完全。录制我的视频时,我以1000fps的速度录制,视频结果为2分29秒。如果我的数学是正确的,那么整个视频的总计应该达到149,000帧。但是,当我运行'ffmpeg -i myfile.avi -f image2 image-%05d.bmp'时,我只获得了4472个文件。我怎样才能得到原始的149k帧? – Myx 2010-10-12 00:03:04

+0

我也尝试将我的原始帧速率通过做'ffmpeg -i myfile.avi -r 1000 otherfile.avi'AVI到1000fps,但这似乎并没有解决我的问题。 – Myx 2010-10-12 00:15:09

0

MPlayer/MEncoder可能会有所帮助。我用它将电影文件转换为占用较小空间的格式。但不是用于提取jpegs。

5
avconv -i 'in.mov' -vsync 1 -r 100 'out-%03d.jpeg' 

这会将输入电影转换为单独的帧。在r之后使用100将拉动每秒100帧;使用1将每秒拉1帧。在这个例子中,输出文件将是out-001,out-002,out-003等等。使用较高帧频时要小心,因为帧数将是视频+ -1的帧持续时间的帧率。

+0

这工作就像一个魅力! – dsign 2015-08-17 05:57:26

1

convert your_clip.avi "%d.jpg"其中%d将被替换为一个数字。

奖励:convert 1.jpg 2.jpg moving.gif从这两张照片中做出一个gif。

该命令来自ImageMagick(apt-get install imagemagick)。