2009-12-15 60 views
5

即时通讯尝试从视频中提取帧..我选择了ffmpeg(告诉我,如果你知道更好的东西)这个任务
我下载它的源..我不知道如何使用它?我如何编译它?
什么是它的推荐语言?我知道蟒蛇和C++
请注意,我使用Windows Vista 64x。如何使用ffmpeg

+2

对不起鹅..即时通讯只是新的这个网站。 – 2009-12-16 10:31:42

回答

2

如果你只是想提取的视频帧,并将其保存到文件,你可以在命令行中使用的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库,因此您不必自己构建它们。根据the documentation,ffmpeg不会基于MSVC++构建,因此您必须设置一个mingw环境。如果你真的想要,This site有很多关于如何构建库的Windows构建和教程。

1

如果你只想使用 ffmpeg你应该得到一个构建,而不是源本身。

为了提取从视频帧使用下面的命令行:

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

哪里input.avi是视频,120x96输出图像的尺寸。有很多选项可以用来指定电影中的精确帧,但这在这里肯定会显示太多。看看这个page得到更详细的描述。

最良好的祝愿,
费边

4

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

+0

直接链接到样品:http://unick-soft.ru/art/files/ffmpegDecoder-vs2008.zip – user220048 2010-04-14 22:20:26

+0

这里是更新的样品:http://unick-soft.ru/Files/ffmpegDecoder-vs2008.zip – Unick 2013-04-27 10:41:16

+0

这里是英文http://unick-soft.ru/article.php?id=14文章的新链接 – Unick 2014-03-21 10:32:39