ubuntu 编译opencv 读视频
1. 安装ffmpeg
① 安装依赖项:apt install libavformat-dev libavcodec-dev libswscale-dev libswresample-dev libavutil-dev libsdl1.2-dev
② apt-get install ffmpeg
这时候ffmpeg应该安装到了/usr/bin
③ 添加环境变量
vim ~/.bashrc
最后一行添加: export PATH=$PATH:/usr/bin
这时候就可以在终端查看ffmpeg版本:ffmpeg -version
注:留意下libavcodec.so、libavutil.so 的版本号,要和opencv 配置的时候一致
2. 源码编译opencv
① 下载解压opencv源码
② mkdir build & cd build
③ cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -D WITH_FFMPEG=ON -D BUILD_opencv_world=ON ..
注意查看:FFMPEG 为YES,且avcodec的版本与libavcodec.so一致,以此类推。。。
④ make -j8
⑤ make install
⑥ ldconfig
可能出现的问题:
问题:capture.isOpened()一直返回false
原因:ffmpeg的依赖库libavcodec.so等的版本与opencv配置的avcodec等的版本不一致,比如ver 57 对上了 ver58
FFMPEG: YES
avcodec: YES (ver 56.60.100)
avformat: YES (ver 56.40.101)
avutil: YES (ver 54.31.100)
swscale: YES (ver 3.1.101)
avresample: YES (ver 2.1.0)