10、交叉编译ffmpeg----------Opencv移植Arm

交叉编译ffmpeg

交叉编译ffmpeg

  1. 安装必要依赖
bash 复制代码
sudo apt-get update
sudo apt-get install build-essential git yasm cmake libx264-dev libx265-dev libvpx-dev libfdk-aac-dev libmp3lame-dev libopus-dev
sudo apt-get install -y yasm pkg-config libx264-dev libxvidcore-dev

2.设置交叉编译工具环境变量

bash 复制代码
# 设置交叉编译工具链环境变量
export TOOLCHAIN_PREFIX=aarch64-linux-gnu-
export SYSROOT=/opt/arm-sysroot

3.下载FFmpeg 源代码

bash 复制代码
# 下载 FFmpeg 源代码
mkdir ~/ffmpeg_build && cd ~/ffmpeg_build
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
git checkout n4.4  # 或最新稳定版本

4.配置和编译

bash 复制代码
# 配置 FFmpeg

./configure \
  --prefix=/opt/arm-sysroot/usr/local \
  --enable-gpl \
  --enable-libx264 \
  --enable-libxvid \
  --enable-nonfree \
  --enable-avresample \
  --enable-shared \
  --arch=aarch64 \
  --cross-prefix=aarch64-linux-gnu- \
  --target-os=linux \
  --disable-static \
  --enable-pic \
  --extra-cflags="-I/opt/arm-sysroot/usr/local/include" \
  --extra-ldflags="-L/opt/arm-sysroot/usr/local/lib"


# 编译并安装
make -j$(nproc)
make install

编译jpeg库

先克隆OpenJPEG源码仓库或者取下载release版本

bash 复制代码
git clone https://github.com/uclouvain/openjpeg.git
cd openjpeg

创建构建目录

bash 复制代码
mkdir build && cd build

创建交叉编译工具链文件

bash 复制代码
# aarch64-gnu.toolchain.cmake

SET(CMAKE_SYSTEM_NAME Linux)
SET(CMAKE_SYSTEM_PROCESSOR aarch64)

# 交叉编译器路径
SET(CMAKE_C_COMPILER aarch64-linux-gnu-gcc)
SET(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++)

运行cmake配置

bash 复制代码
cmake .. \
    -DCMAKE_TOOLCHAIN_FILE=./aarch64-gnu.toolchain.cmake \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/opt/arm-sysroot/usr/local

编译并安装OpenJPEG

bash 复制代码
make -j4
make install
相关推荐
sycmancia36 分钟前
Qt——Qt中的事件处理(一)
开发语言·qt
代钦塔拉2 小时前
第二篇:VS2019 + Qt5.9.9 中文乱码实战:源码GB2312不乱码、文件写入与跨平台方案
开发语言·qt
sycmancia4 小时前
Qt中的事件处理(二)
开发语言·qt
hanbr4 小时前
Qt 进阶开发:主窗口、对话框、布局与常用控件全解析
qt
小短腿的代码世界5 小时前
Qt时间日期处理与QTimer高级应用:从毫秒级精度到跨平台定时器的完整架构解析
开发语言·qt·架构
小短腿的代码世界6 小时前
QGC飞控参数系统架构深度解析:从XML到飞控寄存器的参数同步引擎
qt·microsoft·ui
小短腿的代码世界6 小时前
QGC固件升级与引导加载架构深度解析:从Bootloader握手到固件校验的完整流程
qt·性能优化·架构
buhuizhiyuci7 小时前
【QT-百日筑基篇】打完完怪,开始学炼丹, 前往藏书阁寻找对应材料的信息,并前往去寻找对应材料-QT信号和槽
开发语言·qt
小短腿的代码世界7 小时前
QtitanRibbon深度解析:从微软Office UI到Qt跨平台Ribbon框架的完整架构实现
qt·microsoft·ui
郝学胜-神的一滴7 小时前
CMake 010 :一步到位链接静态库
开发语言·c++·qt·程序人生·系统架构·cmake