如何使用ffmpeg

时间:2009-12-15 15:57:39

标签: c++ python ffmpeg

我试图从视频中提取帧...我选择了ffmpeg(告诉我,如果你知道更好的事情)这个任务
我下载了它的来源..我不知道如何使用它?我怎么编译呢? 它的推荐语言是什么?我知道python和C ++
请注意,我使用的是Windows Vista 64x。

3 个答案:

答案 0 :(得分:6)

如果您只想从视频中提取帧并将其保存到文件,您可以在命令行中使用ffmpeg:

ffmpeg -i video.avi image%d.jpg

对于这种方法,您不需要构建ffmpeg,因为应该有一个可供下载的Windows二进制文件。

如果您想要显示帧或对它们执行其他处理,您可能需要使用libavformat和libavcodec(ffmpeg项目的主要部分)来提取代码中的视频帧。 Here是一个非常好的教程,介绍如何使用libavcodec和libavformat从视频中获取帧。 libavformat和libavcodec是C库,所以如果你想直接与它们接口,我会使用C或C ++。 ffmpeg this python wrapper看起来很有希望,但我还没试过。

您也可以下载已编译的ffmpeg库,因此您不必自己构建它们。 ffmpeg不会根据the documentation构建在MSVC ++上,因此您必须设置一个mingw环境。 This site有许多Windows构建和教程,如果你真的想要如何构建库。

答案 1 :(得分:6)

如果您了解C ++,则可以修改文章using ffmpeg中的示例。

答案 2 :(得分:1)

如果您只想使用 ffmpeg,您应该只获得构建而不是源本身。

要从视频中提取帧,请使用以下命令行:

ffmpeg -i input.avi -r 1 -f image2 -s 120x96 images%05d.png

其中input.avi是您的视频,120x96是输出图像的尺寸。您可以使用很多选项来指定电影中的确切帧,但这可能会在这里显示太多。请查看此page以获取更详细的说明。

祝你好运,
费边