Opencv&FFmpeg
再谈opencv编译
opencv可以说是每个cver最先接触的开源库了,相信大家都被其复杂的编译选项折腾过无数遍,在作为新手时经历过反复折磨后,我也认为我成长了,再也不会被其困扰了,近日没想到又被折磨一次,写一份指南方便大家查看。
FFmpeg编译
单独编译ffmpeg,一般来说没太大难度,项目也成熟。就怕需要编译支持opencv版本的。
如何知道ffmpeg和opencv的匹配的版本?
此问题也是绕了很大一圈,试错很多次才知道。
按网友提示,在opencv源码目录下,理应找到ffmpeg_version.cmake,其中有版本信息,但是很遗憾,我的源码目录没有找到。
没找到,可以发现有ffmpeg.cmake文件中有如下内容,其中有提示到用到branch:4.x_20211220
打开如下网址,可以切换到对应分支
GitHub - opencv/opencv_3rdparty: OpenCV - 3rdparty
然后进入ffmpeg分支,终于发现ffmpeg_version.cmake了,打开后其版本号可以和所要编译的opencv要求的版本相对应了。
其中内容为如下所示:
然后在download_src.sh中可以发现ffmpeg对应源码版本号
直接利用git clone,下载对应的版本源码即可。clone时用-b n4.4.1指定下载特定版本的源码。
git clone --depth=1 https://git.ffmpeg.org/ffmpeg.git -b n4.4.1
此次演示ubuntu环境下x86_x64平台编译
cd ffmpeg
./configure --enable-shared --disable-x86asm --prefix=$(pwd)/install_ubuntux86 --disable-static
make -j10
make install
至此完成了对应版本源码下载和编译,相关头文件和库都在指定的install目录。但是还没有结束,如果用opencv编译