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 -
相关推荐
XMAIPC_Robot1 小时前
基于 i.MX95 平台在新一代工业控制器中的应用 — 工业车载平板、半导体设备主控方案解析
arm开发·人工智能·机器学习·fpga开发·rk3588+fpga·i.mx95
女神下凡1 小时前
芯参谋(71):全桥电机驱动电路设计指南
arm开发·stm32·单片机·嵌入式硬件·硬件工程·设计规范·1024程序员节
szxinmai主板定制专家1 小时前
基于 AM62x + Artix-7 的低功耗 ARM+FPGA 平台在轨道交通车门控制中的应用
arm开发·人工智能·fpga开发·zynq·am62x
幻智星科技1 小时前
我砍掉了FPGA里的ARM核项目反而提前交付了
arm开发·网络协议·fpga开发·硬件架构
女神下凡1 天前
芯参谋(69):LED恒流驱动芯片电路设计指南
arm开发·人工智能·单片机·嵌入式硬件·设计规范
工控存储研习1 天前
瑞芯微平台存储系统设计:DDR、eMMC、SPI NOR、SPI NAND怎么配才合理
arm开发
szxinmai主板定制专家1 天前
ARM 还是 x86?CODESYS 数控机床控制器选型、FPGA 取舍与实时性真相
arm开发·人工智能·fpga开发·zynq·1024程序员节·codesys
工控存储研习1 天前
eMMC分区方案设计:Boot分区、系统分区、数据分区怎么分才合理
arm开发
女神下凡2 天前
芯参谋(68):ADC模数转换器电路设计指南
arm开发·单片机·嵌入式硬件·硬件工程·设计规范
OH_TPC2 天前
【鸿蒙优选三方库】@ohos/ffmpeg-kit:把 FFmpeg 的全部能量带进鸿蒙
华为·ffmpeg·harmonyos·鸿蒙