查看ffmpeg和opencv版本是否匹配
本文编译的是opencv4.5.4
查看源码中3rdparty/ffmpeg/ffmpeg.cmake文件
画红线的部分是ffmpeg的版本
在https://github.com/opencv/opencv_3rdparty查找对应版本
点击上图划红线部分,进入对应页面,打开其中的ffmepg文件夹
进入ffmpeg文件夹中,查看到ffmpeg版本为4.4
点击进ffmpeg_version.cmake能查看ffmpeg依赖库的版本
编译FFmpeg
1.下载FFmpeg源码
git clone --branch 4.4 https://github.com/JeffyCN/FFmpeg.git
2.构建
cd ffmpeg
./configure --enable-shared --prefix=/usr/local/ffmpeg --enable-version3 --enable-libdrm --enable-rkmpp
3.编译安装
make -j8
sudo make install
打开/usr/local/ffmpeg/lib目录,查看ffmpeg依赖库版本是否与上图一致
编译Opencv
1.下载opencv源码
下载链接:https://codeload.github.com/opencv/opencv/zip/refs/tags/4.5.4
2.解压
unzip opencv4.5.4
3.创建编译目录
cd opencv4.5.4
mkdir build
cd build
4.构建
export PKG_CONFIG_PATH="/usr/local/ffmpeg/lib/pkgconfig"
export LD_LIBRARY_PATH="/usr/local/ffmpeg/lib"
cmake .. \
-D CMAKE_BUILD_TYPE=RELEASE \
-D PKG_CONFIG_PATH="/usr/local/ffmpeg/lib/pkgconfig" \
-D CMAKE_INSTALL_PREFIX="/usr/local/opencv" \
-D PYTHON_DEFAULT_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)") \
-D PYTHON3_DEFAULT_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)") \
-D PYTHON3_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)") \
-D PYTHON3_NUMPY_INCLUDE_DIRS=$(python3 -c "import numpy; print(numpy.get_include())") \
-D PYTHON3_PACKAGES_PATH=$(python3 -c "import site; print(site.getsitepackages()[0])") \
-D BUILD_SHARED_LIBS=ON \
-D BUILD_opencv_apps=ON \
-D WITH_FFMPEG=ON \
-D BUILD_DOCS=OFF \
-D BUILD_EXAMPLES=OFF \
-D BUILD_TESTS=OFF \
-D BUILD_PERF_TESTS=OFF
5.编译安装
make -j8
sudo make install
6.检验opencv是否链接了ffmpeg的动态库
cd /usr/local/opencv/lib