2012-08-23 110 views
2

我正在使用此命令从视频中提取一系列图像,以将它们表示为视频的视觉时间帧。使用FFMPEG从视频提取更快的缩略图/图像?

ffmpeg -i inputfile.mp4 -r 1 -t 12 image-%d.jpeg

我的大多数视频都是mp4格式。我能够成功提取图像,但提取的时间太长。

有什么办法可以减少图像提取的时间?

编辑这是把我60秒,从15秒长的视频在MP4格式编码得到8个缩略图,我做我的的Galaxy Nexus(Android手机)这个操作有什么办法以提高速度的运行,理想情况下我希望它小于〜10secs

回答

3

嗯,定义“慢”:)我只是做了这个,它在标准机器上花了四秒钟。可能有办法加快速度,但ffmpeg必须解码MP4数据包结构(GOP),提取帧并存储JPG图像 - 对我而言,四秒钟看起来合理。我刚才看到小的改进空间在你的命令行:

ffmpeg -i inputfile.mp4 -r 1 -an -t 12 -s 512x288 -vsync 1 -threads 4 image-%d.jpeg

玩的threads-s参数(这个定义目标图像的大小 - 它不会加快这一进程,但如果你不想保留源图像大小,它会为您节省一个额外的步骤)。

此外,请确保您有一个与您的平台相匹配的ffmpeg版本 - 这里的速度有很大差异。不幸的是,我不能在这里给你一个一般的建议。对于你的情况,它可能是一个想法compile the ffmpeg sources yourself

+0

对我而言,花费22秒从14秒剪辑中提取图像,平均剪辑时间为67秒,持续30秒。我正在瞄准移动设备,因此有可能在具有体面处理能力的移动设备中加快速度。 –

+0

它用你的命令花了我7秒多。 –

+0

查看我的修改答案。但是如果你真的想在Galaxy Nexus上执行这个操作,我怀疑它有可能<10秒。在进行图像提取之前是否可以缩小视频?这将有所帮助。 –