前不久安装好了OpenCV,昨晚测试一个avi视频处理的时候,cvCreateFileCapture总是返回NULL,我怀疑是ffmpeg没有配置好。今天就把OpenCV和ffmpeg都删除了,重新安装了下!最好把旧版本都删除了!
ffmpeg安装
源码下载 : svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
文件配置 : ./configure – -enable-able-shared – -enable-gpl – -enable-swscale
安装 : make && make install
所有的库文件默认安装在/usr/local/lib 下, 所有的头文件安装在 /usr/local/include/lib*/下
测试 : ffplay a.avi
pkg-config安装
$ yum install pkg-config
pkg-config 通过各个库文件的.pc 文件识别已安装的库文件的信息,这些.pc文件是由各库的安装程序自己生成的,例如ffmpeg 安装程序会在 /usr/local/lib/pkgconfig 目录下提供 libavcodec.pc libswscale.pc 等5个.pc文件,分别对应安装的五个库文件。所以必须要让pkg-config能找到ffmpeg的*.pc文件,通过PKG_CONFIG_PATH 来设置pkg-config来更新。
$ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
cmake安装
$ yum install cmake
OpenCV安装
源码下载: http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.2/
$ cp OpenCV-2.4.0.tar.bz2 /usr/local/
$ tar -xvf OpenCV-2.4.0.tar.bz2
$ cd OpenCV-2.4.0
2.4.0的下面是以CMakeLists.txt形式
$ cmake CMakeLists.txt
这里可以查看是否已经支持ffmpeg,查看信息,FFMPEG已经是YES了
$ make && make install
所有的库文件默认安装在 /usr/local/lib 下, 所有的头文件安装在 /usr/local/include/opcv*/下面
$ vim /etc/ld.so.conf
最后一行加入 /usr/local/lib
$ ldconfig
或者
export LD_LIBRARY_PATH=/usr/local/lib