使用opencv videocapture的时候,发现无法打开视频,使用is_opened()一直返回false。很可能是没有装ffmpeg。
方法:
1.安装x264
git clone Projects · VideoLAN / x264
cd x264
./configure --enable-static --enable-shared
sudo make
sudo make install
2.安装ffmpeg
wget https://ffmpeg.org/releases/ffmpeg-4.1.3.tar.bz2
tar jxf ffmpeg-4.1.3.tar.bz2
cd ffmpeg-4.1.3
./configure --enable-shared --enable-gpl --enable-libx264 --prefix=/usr/local
sudo make
sudo make install
3.设置环境变量
# 将下面一行添加到/etc/profile末尾
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
# 刷新
source /etc/profile
4.
执行 ffmpeg -version验证是否安装成功,如果出现类似下面这种错误
ffmpeg: error while loading shared libraries: libavdevice.so.58
通过 find / -name "libavdevice.so.58" 找到该文件的路径 /usr/local/lib/,将该路径加到/etc/ld.so.conf的末尾,并执行ldconfig刷新使其生效。
5.安装opencv
cmake -D CMAKE_BUILD_TYPE=Release -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=OFF -D PYTHON_EXECUTABLE=/usr/bin/python3 -D BUILD_EXAMPLES=ON -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo make -j8
sudo make install
注:如果成功ffmpeg后面应该都是yes(图上是反例)
原博基本来自:
opencv和ffmpeg编译安装_root_clive的博客-CSDN博客blog.csdn.net