ffmpeg opencv2.4.9 ubutu14.04 环境配置

来源:互联网 发布:网络文化建设的问题 编辑:程序博客网 时间:2024/04/28 14:33

 最近在ubutu下面用 opencv播放视频 但是VideoCapture 总是打不开视频,这个问题在windows下是不存在的,但是相同的代码我可以打开摄像头,于是我想是不是没有相应的视频解码工具,然后我直接双击视频文件,ubutu提示需要相应的解码器工具,于是我下了smplayer 播放器,可以播放视频,我想这下 系统里应该有解码器了吧。可以用VideoCapture还是打不开视频文件,后来在网上查查,好像是系统的解码器和应用程序的不一样,程序的解码器有的只能被程序调用。于是想到了,在ubutu里装ffmpeg, 在谷歌上搜一搜 还不少教程,刚开始是参考http://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu 这里的教程,后来发现是ffmpeg官方的教程,很全面,在./configure 的时候前面加了PATH 什么的环境变量,这是说明 可以这样用, 其实一般情况下 就直接./configure --enable-shared  等等就行了 默认回装在 /usr/local 下面 这样也很方便opencv找到ffmpeg

这是我刚开始的装法,后来又重新编译opencv 发现不行 当时不知道为什么(其实是没有删掉以前的opencv)又找了个中文的教程http://blog.csdn.net/firefoxbug/article/details/7554409 这也是ffmpeg opencv 配置的,和我的要求一样,安装好ffmpeg( 默认路径安装 /usr/local 下面 没有x264 什么)

然后$export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig 

让pkg-config 识别ffmpeg的路径 关于 pkg-config 参

http://blog.csdn.net/firefoxbug/article/details/ 里面讲的挺详细的。

然后安装opencv 运行cmake 后可以看到 对ffmpeg 的支持 后面是 YES 下面的几个也是YES 这下觉得应该没问题了吧 ,然后 make make install 。跑一遍程序发现还是打开不 视频文件。想了想 是不是opencv 的库没有被覆盖掉?

因为我以前装过opencv 但是不知道怎么删 使用 apt-get remove opencv 显示我没有装opencv这个包 。其实也是,因为我的通过编译源码装的 不是通过 apt-get install 这种方式装的。但是现在确实没办法了。只能删了 opencv. 我的方法是 直接 rm -rf opencv_* (先cd 到 /usr/local/lib ) 和opencv的头文件 在 /usr/local/include 下 一共俩 opencv  opencv2 。然后重新安装opencv 。结果OK !终于成功了。


前面的基本是唠叨,这里我的经验是 一定先装ffmpeg 再装opencv 否则可能出现 重新编译的opencv 没有把ffmepg集成进去的问题。 源码安装的openecv 就手动删掉  /usr/local/lib 下的 libopencv_* 和/usr/local/include/ 下的opencv opencv2 头文件夹。 还有就是 安装ffmepg 时使用默认的路径 不要自己换其他的路径 否则 opencv可能识别不到,关于这个 在安装opencv 时运行cmake CMake。。后可以看到opencv 是不是已经把ffmpeg识别出来。 

如果已经识别出ffmpeg 但是安装好opencv 还是博不了视频 那就把opencv的库 .so文件都删了 重新编译opencv!


 







0 0
原创粉丝点击