我正在尝试从视频中提取帧,我选择了ffmpeg (如果你知道更好的方法,请告诉我)。
我已经下载了它的源码,不知道如何使用??我怎么编译它呢?
推荐的语言是什么?我知道Python和C++。请注意,我的操作系统是64位Windows Vista。
发布于 2009-12-16 00:22:45
如果您只想从视频中提取帧并将其保存到文件中,则可以在命令行中使用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环境。
发布于 2010-04-15 06:19:41
如果您了解C++,可以修改using ffmpeg文章中的示例。
发布于 2009-12-16 00:13:11
如果你只想使用ffmpeg,你应该只得到一个构建,而不是源代码本身。
要从视频中提取帧,请使用以下命令行:
ffmpeg -i input.avi -r 1 -f image2 -s 120x96 images%05d.png其中input.avi是您的视频,120x96是输出图像的尺寸。有很多选项可以用来在电影中指定确切的帧,但在这里显示肯定太多了。请查看此page以获取更详细的描述。
谨致问候,
Fabian
https://stackoverflow.com/questions/1908411
复制相似问题