vs2010环境下mfc+ffmpeg+opencv读取任意格式视频的播放器

来源:互联网 发布:tensorflow 1.4 编辑:程序博客网 时间:2024/06/03 07:17

忙了2天终于搞定了一件事情,搞定这件事情还是因为有很多以前的积累才行。


首先我想要做的事情是对任意格式的视频文件进行读取,一般来说现有的api只能支持avi格式的视频,其他格式需要转换成avi才行。碰巧我遇到的难题是读取从youtube上面下载的视频,youtube上下载的视频是webv格式的,一般来说用matlab或opencv还有windows的一些读取视频函数都不行。这个时候就需要使用强大的ffmpeg,最新版本的ffmpeg可以支持读取webm格式的视频,这篇文章的日期是2012//11/30号。


用ffmpeg读取到视频里面的帧,我们可以使用opencv这一强大的计算机视觉库进行处理,opencv还有一个非常方便的函数cvNamedWindows()能播放视频,超级方便!本来我想用qt或者mfc来做界面,发现都不是很方便,于是我就取巧地使用了opencv的这一功能。


我的程序结果如图:

图1


我写这个程序的目的其实是为了进行视频的一些东西的判断,我想给大家借鉴的东西主要有这么几个:用ffmpeg读取任意格式视频,用mfc做一个简单的界面,使用opencv进行播放。整个流程是先选择一个文件夹里面包含webv flv或avi格式的视频,然后在listbox中选择需要播放的视频,点击播放这时会调用opencv的cvNamedWindow来进行播放,我这里做的比较粗糙,没有音频,视频同步性也不是很好。

下图是播放一个视频的截图:



图2


完成这项工作还需要很多东西,比如opencv库,ffmpeg库与vs2010环境的配置,这些大家可以从网上搜索。

ffmpeg 下载地址:http://ffmpeg.zeranoe.com/builds/

opencv版本2.2

下载工程代码:

http://download.csdn.net/detail/yileida/5111091

原创粉丝点击