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
相关推荐
史蒂芬_丁几秒前
Qt, C++数据类型扩展问题
数据库·c++·qt
没用的阿_吉1 小时前
windows10 Qt5.15.14 msvc2019 编译部署
开发语言·qt
code_计梦星河3 小时前
Qt 开发第十五天:规划模块树形视图开发与跨端数据传输
qt
不知名。。。。。。。。4 小时前
Qt常用控件
开发语言·qt
深蓝海拓5 小时前
基于QtPy (PySide6) 的PLC-HMI工程项目(二)系统规划
笔记·python·qt·学习·plc
二DUAN帝5 小时前
态势仿真推演系统 AFSIM+UE 架构选型
qt·ue5·afsim
牵牛老人7 小时前
【QML 界面开发实战之:模块化、多QML文件调用与跨语言交互】
qt
mldlds7 小时前
使用 Qt 插件和 SQLCipher 实现 SQLite 数据库加密与解密
数据库·qt·sqlite
jf加菲猫11 小时前
第10章 数据处理
xml·开发语言·数据库·c++·qt·ui
森G11 小时前
30、QStandardItemModel 和 QTableView---------Model/View模型视图
c++·qt