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 -
相关推荐
blanks20201 天前
ffmpeg 学习笔记 通过命令行采集音频
ffmpeg
Mahut5 天前
我用 Electron + FFmpeg 做了一个本地视频处理工作站 ClipForge
前端·ffmpeg·electron
源之缘-OFD先行者14 天前
破界渲染:WinForm下的FFmpeg+Vortice极速推流引擎
ffmpeg·winform·推流·h264
AndyHeee14 天前
【SVC、PendSV(系统异常) 与 外设 IRQ 、NVIC笔记】
arm开发
源来猿往14 天前
记ffmpeg-8.1.1 之Android库编译(window)
android·ffmpeg
暮云星影14 天前
瑞芯微rk3588利用Rockchip NPU运行大语言模型(LLM)
arm开发·人工智能·语言模型·自然语言处理
techdashen14 天前
绕过系统 ICMP:用 rawsock、Npcap 和 WMI 找到默认网卡
开发语言·arm开发·rust
Deitymoon14 天前
RV1126+FFMPEG多路码流监控项目
ffmpeg·音视频
振南的单片机世界14 天前
ARM中断比51快在哪?硬件压栈+NVIC集中管理
arm开发·stm32·单片机·嵌入式硬件
墨绿色的摆渡人14 天前
论文笔记(一百三十七)Learning Dual-Arm Push and Grasp Synergy in Dense Clutter
arm开发·论文阅读