Opencv3.4+FFMpeg3.4+pkg-config交叉编译arm开发板

Ubuntu16.04 64位
FFmpeg3.4
OpenCv3.4

一、下载FFmpeg

https://github.com/FFmpeg/FFmpeg

1.配置

复制代码
./configure --prefix=/home/zeng/ffmpeg_install --enable-cross-compile  --cross-prefix=arm-linux-gnueabihf- --cc=arm-linux-gnueabihf-gcc --target-os=linux    --cpu=cortex-a7 --arch=arm --disable-yasm --disable-x86asm --disable-static --enable-shared --enable-small --enable-ffmpeg

2.编译和安装

复制代码
make -j4
make install

二、设置pkg-config

如果没安装pkg-config,请自行百度安装以下。

1.进入ffmpeg_instal的lib目录下的pkgconfig文件夹,拷贝pkgconfig路径

2.设置pkg-config变量PKG_CONFIG_PATH

复制代码
export PKG_CONFIG_PATH=/home/zeng/FFmpeg/my_install/lib/pkgconfig

3.测试pkg-config设置是否正确

测试命令:

复制代码
 pkg-config --cflags libavformat

输出:

复制代码
-I/home/zeng/FFmpeg/my_install/include

则设置正确。

三、下载OpenCv.

https://github.com/opencv/opencv.git

1.进入OpenCv,创建build目录

复制代码
cd opencv
mkdir build
cd build

2.配置

复制代码
cmake -D CMAKE_BUILD_TYPE=RELEASE  \
             -D CMAKE_INSTALL_PREFIX=/opt/opencv3.4.1_lib/opencv3.4_arm \
             -D CMAKE_C_COMPILER=arm-linux-gnueabihf-gcc \
             -D CMAKE_CXX_COMPILER=arm-linux-gnueabihf-g++ \
             -D BUILD_SHARED_LIBS=ON \
             -D CMAKE_CXX_FLAGS=-fPIC \
             -D CMAKE_C_FLAGS=-fPIC \
             -D CMAKE_EXE_LINKER_FLAGS=-lpthread -ldl \
             -D ENABLE_PIC=ON \
             -D WITH_1394=OFF \
             -D WITH_ARAVIS=OFF \
             -D WITH_ARITH_DEC=ON \
             -D WITH_ARITH_ENC=ON \
             -D WITH_CLP=OFF \
             -D WITH_CUBLAS=OFF \
             -D WITH_CUDA=OFF \
             -D WITH_CUFFT=OFF \
             -D WITH_FFMPEG=ON \
             -D WITH_GSTREAMER=ON \
             -D WITH_GSTREAMER_0_10=OFF \
             -D WITH_HALIDE=OFF \
             -D WITH_HPX=OFF \
             -D WITH_IMGCODEC_HDR=ON \
             -D WITH_IMGCODEC_PXM=ON \
             -D WITH_IMGCODEC_SUNRASTER=ON \
             -D WITH_INF_ENGINE=OFF \
             -D WITH_IPP=OFF \
             -D WITH_ITT=OFF \
             -D WITH_JASPER=ON \
             -D WITH_JPEG=ON \
             -D WITH_LAPACK=ON \
             -D WITH_LIBREALSENSE=OFF \
             -D WITH_NVCUVID=OFF \
             -D WITH_OPENCL=OFF \
             -D WITH_OPENCLAMDBLAS=OFF \
             -D WITH_OPENCLAMDFFT=OFF \
             -D WITH_OPENCL_SVM=OFF \
             -D WITH_OPENEXR=OFF \
             -D WITH_OPENGL=OFF \
             -D WITH_OPENMP=OFF \
             -D WITH_OPENNNI=OFF \
             -D WITH_OPENNNI2=OFF \
             -D WITH_OPENVX=OFF \
             -D WITH_PNG=OFF \
             -D WITH_PROTOBUF=OFF \
             -D WITH_PTHREADS_PF=ON \
             -D WITH_PVAPI=OFF \
             -D WITH_QT=OFF \
             -D WITH_QUIRC=OFF \
             -D WITH_TBB=OFF \
             -D WITH_TIFF=ON \
             -D WITH_VULKAN=OFF \
             -D WITH_WEBP=ON \
             -D WITH_XIMEA=OFF \
             -D BUILD_opencv_highgui=OFF \
             ..

注意不要忘了末尾的两个点,代表上一次目录

输出:

则配置FFmpeg正确。

3.编译安装

复制代码
make -j4
sudo make install
相关推荐
用户96715113916725 小时前
Rust 如何轻松实现 RTMP 流媒体推送?深入解析直播推流场景与解决方案
rust·ffmpeg
小小码农Come on5 小时前
ffmpeg命令整理
ffmpeg
暮云星影6 小时前
三、FFmpeg学习笔记
linux·ffmpeg
逆鱼_049 小时前
ARM—LED,看门狗关闭,按钮,时钟,PWM定时器,蜂鸣器
arm开发
都非拉得1 天前
FFmpeg命令详解
ffmpeg
cuijiecheng20181 天前
音视频入门基础:MPEG2-TS专题(26)——通过FFmpeg命令使用RTP发送TS流
ffmpeg·音视频
钡铼技术物联网关1 天前
ARM边缘计算时代:BLIoTLink如何打通设备互联任督二脉
arm开发·人工智能·边缘计算
Yeauty1 天前
Rust 中的高效视频处理:利用硬件加速应对高分辨率视频
开发语言·rust·ffmpeg·音视频·音频·视频
winfredzhang1 天前
Python视频标签工具详解:基于wxPython和FFmpeg的实现
python·ffmpeg·音视频·视频标签
一道微光1 天前
mac air m系列arm架构芯片安装虚拟机 UTM+debian 浏览器firefox和chrome
arm开发·macos·架构