看《学习OpenCV》这本书,但是运行例2-2中的代码(播放avi视频)总是有问题,用gdb跟踪发现是CvCapture *capture = cvCreateFileCapture (argv[1]);这行代码的结果总是返回NULL,查了下资料发现是缺少视频解码器,可以用ffmpeg。这个就搞了好久,本来用命令行安装的ffmpeg,安装好了,但是结果始终还是不能用。最后没办法只有自己下载一个压缩包安装了。
1、先安装yasm
tar xzvf yasm-0.8.0.tar.gz
cd yasm-0.8.0
./configure
makemake install
2.安装ffmpeg
tar xvfj ffmpeg-0.10.2.tar.bz2cd ffmpeg-0.10.2
./configure
make
make install
这就是所有安装过程,本来很简单,直接用命令行下载安装就比较蛋疼了。
可以用命令ffplay (一个.avi文件)来验证,如果可以播放视频,一般就是安装成功了。
这些做完了之后再来编译OpenCV,这个参照http://blog.csdn.net/sx154893743/article/details/15027383
需要说明的是,在cmake .. 的结果中找到FFMPEG的结果,如果是YES,一般就没问题了,可以接着往下走;如果是NO,恭喜你,还是别往下面make和make install了,这只是浪费时间,只有FFMPEG: YES才表示这个问题解决了。