【ffmpeg】基于需要使用videocapture的opencv编译配置(C++)

目录

配置简介

opencv使用videocapture读取视频流时,需要借助底层的ffmpeg库。如果不能正确编译,会报错,现记录正确编译配置方法。

ffmpeg源码编译方法记录

opencv依赖于ffmpeg,应该先编译ffmpeg。

cpp 复制代码
git clone https://github.com/FFmpeg/FFmpeg.git -b release/4.3
opencv:4.5.1

./configure --enable-shared  --enable-avresample --enable-gpl --enable-libx264 --prefix=/usr/myffmpg/
make -j$(nproc)
sudo make install

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/myffmpg/lib/
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/myffmpg/lib/pkgconfig/
export PKG_CONFIG_LIBDIR=$PKG_CONFIG_LIBDIR:/usr/myffmpg/lib/
//让opencv编译时能搜索到ffmpeg
sudo cp /usr/myffmpg/lib/pkgconfig/* /usr/lib/x86_64-linux-gnu/pkgconfig/

gstreamer命令行安装方法

同样需要安装gstreamer

bash 复制代码
apt-get install software-properties-common
add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
//gstreamer:
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio
export PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig:$PKG_CONFIG_PATH

opencv的编译项记录

依赖齐全后,按如下选型编译opencv(带opencv_contrib包)

bash 复制代码
cmake -DCMAKE_BUILD_TYPE=Debug -DOPENCV_EXTRA_MODULES_PATH=/work/opencv_contrib/modules -DWITH_OPENCL=OFF -DBUILD_DOCS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_WITH_DEBUG_INFO=OFF -DBUILD_TESTS=OFF -DWITH_1394=OFF -DWITH_CUDA=OFF -DWITH_CUBLAS=OFF -DWITH_CUFFT=OFF -DWITH_OPENCLAMDBLAS=OFF -DWITH_OPENCLAMDFFT=OFF -DINSTALL_C_EXAMPLES=OFF -DINSTALL_PYTHON_EXAMPLES=OFF -DINSTALL_TO_MANGLED_PATHS=OFF -DBUILD_ANDROID_EXAMPLES=OFF -DBUILD_opencv_python=OFF -DBUILD_opencv_python_bindings_generator=OFF -DBUILD_opencv_apps=OFF -DBUILD_opencv_calib3d=ON -DBUILD_opencv_features2d=ON -DBUILD_opencv_flann=ON -DBUILD_opencv_java_bindings_generator=OFF -DBUILD_opencv_js=OFF -DBUILD_opencv_ml=OFF -DBUILD_opencv_objdetect=OFF -DBUILD_opencv_photo=OFF -DBUILD_opencv_python3=OFF -DBUILD_opencv_python_tests=OFF -DBUILD_opencv_shape=OFF -DBUILD_opencv_stitching=OFF -DBUILD_opencv_superres=OFF -DBUILD_opencv_ts=OFF -DBUILD_opencv_videostab=OFF -DBUILD_opencv_world=ON -DBUILD_opencv_dnn=ON -D WITH_FFMPEG=ON -D WITH_TIFF=OFF -D BUILD_TIFF=OFF -DWITH_FFMPEG=ON  --DWITH_GSTREAMER=ON  ..

opencv的完整编译安装方法链接

相关推荐
2501_907136829 分钟前
开源视频批量处理工具FFmpeg Batch AV Converter
ffmpeg·音视频·软件需求
腾讯云开发者13 分钟前
AI独孤九剑:AI没有场景,无法落地?不存在的。
人工智能
光影少年16 分钟前
node.js和nest.js做智能体开发需要会哪些东西
开发语言·javascript·人工智能·node.js
落798.19 分钟前
基于CANN与MindSpore的AI算力体验:从异构计算到应用落地的实战探索
人工智能·cann
audyxiao00131 分钟前
期刊研究热点扫描|一文了解计算机视觉顶刊TIP的研究热点
人工智能·计算机视觉·transformer·图像分割·多模态
paopao_wu33 分钟前
目标检测YOLO[04]:跑通最简单的YOLO模型训练
人工智能·yolo·目标检测
XINVRY-FPGA41 分钟前
XCVP1802-2MSILSVC4072 AMD Xilinx Versal Premium Adaptive SoC FPGA
人工智能·嵌入式硬件·fpga开发·数据挖掘·云计算·硬件工程·fpga
撸码猿1 小时前
《Python AI入门》第9章 让机器读懂文字——NLP基础与情感分析实战
人工智能·python·自然语言处理
二川bro1 小时前
多模态AI开发:Python实现跨模态学习
人工智能·python·学习
张彦峰ZYF1 小时前
AI赋能原则1解读思考:超级能动性-AI巨变时代重建个人掌控力的关键能力
人工智能·ai·aigc·ai-native