您的位置:首页 > 运维架构

openCV是否只能打开avi格式视频

2007-11-06 09:16 1466 查看
如果只是做研究,用AviSynth + K-Lite Code Pack来解决这个问题吧。

K-Lite Code Pack里面包括ffdshow,是一套video codec的组合,它提供
Video For Windows 的接口,OpenCV的这个函数就是用这个接口;

然后用AviSynth这个virtual frame server来包装这个mpeg文件,创建一
个简单的script,比如mobile.avs,里面只有一行:
MpegSource("mobile.mpg")
当然这取决于你的mpeg的文件的压缩方式,也许需要额外的AviSynth的plugin.
装好K-lite Codec和AviSynth之后,你可以先用播放器直接放这个mobile.avs
文件看是否行得通。

视频实际上的读取过程是:
原始视频 -> ffdshow -> AviSynth -> OpenCV -> IplImage

K-lite Codec Pack主页:http://www.codecguide.com/download_kl.htm
AviSynth主页:http://www.avisynth.org/
相关讨论区:http://www.doom9.org/

另外一条路是基于DirectShow filter/sample grabber的办法来读取video frames,
可以看看: http://windowssdk.msdn.microsoft.com/en-us/library/ms787867.aspx
这种方法需要下载DirectX SDK和DirectShow的addon,同时也需要相关codec,
视频的读取过程是:
原始视频 -> codec -> DirectShow(frame grabber) -> Windows Bitmap -> IplImage

如果是只做研究用,推荐第一条;如果是商业用途,得要看license来决定了。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  avi codec video windows server