arm平台编译mpp、ffmpeg和xfreerdp

先下载,再解压

sh 复制代码
unzip -q ~/Downloads/FFmpeg-n6.1.zip
unzip -q ~/Downloads/FreeRDP-3.10.3.zip
unzip -q ~/Downloads/mpp.zip (用develop分支就行)

mpp

编译方法

sh 复制代码
cmake -S . -B build -G Ninja \
  -DCMAKE_BUILD_TYPE=Release \
  -DCMAKE_INSTALL_PREFIX=/opt/mpp-rk
ninja -C build
sudo ninja -C build install

FFmpeg-n6.1

编译方法

sh 复制代码
export PKG_CONFIG_PATH=/opt/mpp-rk/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=/opt/mpp-rk/lib:$LD_LIBRARY_PATH
./configure \
  --prefix=/opt/ffmpeg-rk \
  --enable-gpl --enable-version3 --enable-nonfree \
  --enable-shared \
  --enable-libdrm \
  --enable-rkmpp
make -j"$(nproc)"
sudo make install

FreeRDP-3.10.3

编译方法

sh 复制代码
cmake -S . -B build -G Ninja \
  -DCMAKE_BUILD_TYPE=Release \
  -DCMAKE_INSTALL_PREFIX=/opt/freerdp-rk \
  -DCMAKE_INSTALL_RPATH=/opt/ffmpeg-rk/lib:/opt/mpp-rk/lib \
  -DCMAKE_BUILD_RPATH=/opt/ffmpeg-rk/lib:/opt/mpp-rk/lib \
  -DWITH_CLIENT=X11 \
  -DWITH_SERVER=OFF \
  -DWITH_FFMPEG=ON \
  -DWITH_GFX_H264=ON \
  -DWITH_OPENH264=ON \
  -DWITH_CLIENT_SDL=OFF \
  -DWITH_OPENSSL=ON \
  -DWITH_INTERNAL_MD4=ON \
  -DWITH_INTERNAL_RC4=ON
ninja -C build
sudo ninja -C build install

编译后验证

sh 复制代码
/opt/freerdp-rk/bin/xfreerdp /buildconfig | grep -Ei 'WITH_INTERNAL_MD4|WITH_INTERNAL_RC4|WITH_OPENSSL|WITH_FFMPEG|WITH_GFX_H264'
/opt/freerdp-rk/bin/xfreerdp /version

固化环境变量(防止新终端失效)

sh 复制代码
cat <<'EOF' >> ~/.bashrc
export PATH=/opt/freerdp-rk/bin:/opt/ffmpeg-rk/bin:$PATH
export LD_LIBRARY_PATH=/opt/ffmpeg-rk/lib:/opt/mpp-rk/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=/opt/ffmpeg-rk/lib/pkgconfig:/opt/mpp-rk/lib/pkgconfig:$PKG_CONFIG_PATH
EOF
source ~/.bashrc
hash -r

验证新版本

sh 复制代码
which ffmpeg
ffmpeg -version | head -n 2
ffmpeg -hide_banner -decoders | awk '{print $2}' | grep -Fx h264_rkmpp
which xfreerdp
xfreerdp /version
xfreerdp /buildconfig | grep -Ei 'WITH_FFMPEG|WITH_GFX_H264|WITH_OPENH264'
ldd /opt/freerdp-rk/bin/xfreerdp | grep -Ei 'libavcodec|libavutil|libavformat'

验证硬解链路

sh 复制代码
ffmpeg -v verbose -c:v h264_rkmpp -i /userdata/video.mp4 -an -f null -
相关推荐
少年、潜行17 小时前
IAR FOR ARM 历史版本安装包、安装、注册流程【百度网盘资源】
arm开发·iar·iar历史版本·iar安装
Aaron15881 天前
无人机反制中AOA+TDOA联合定位技术与雷达探测定位技术的应用对比分析
arm开发·嵌入式硬件·fpga开发·硬件工程·无人机·信息与通信·信号处理
m0_747124531 天前
ARM架构基础知识扫盲
arm开发·架构
换个昵称都难1 天前
webrtc voice engine 介绍(新版webrtc)
ffmpeg·音视频·webrtc
海绵宝宝de派小星1 天前
MCP与A2A协议深度解析:Agent时代的“TCP/IP“如何诞生
arm开发·网络协议·tcp/ip·ai
Zephyrus_20232 天前
LSM6DSV16X驱动移植+调试
c语言·arm开发
瑞禧生物tech2 天前
四臂聚乙二醇-磷脂 4-Arm PEG-DSPE 反应原理解析
arm开发
振南的单片机世界2 天前
地址总线定“找谁”,数据总线定“搬多少”
arm开发·stm32·单片机
小鹿软件办公2 天前
巧用 Adobe Audition 中置声道提取,轻松分离人声与背景音乐
adobe·ffmpeg·简鹿人声分离
有想法的py工程师3 天前
手工处理 Oracle Cloud ARM 实例在线 DD Rocky Linux 10报错
linux·arm开发·oracle