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 -
相关推荐
DevHub5 小时前
probe-rs 教程:一行命令替代 OpenOCD 烧写调试 Cortex-M
arm开发·嵌入式硬件·mcu·rust
'2068 小时前
**写了个自动整理下载视频的脚本:按片名归档、自动重命名、生成目录索引
开发语言·python·ffmpeg·音视频·cctv
etc95279 小时前
IAR下如何同时指定section的LMA和VMA
arm开发·嵌入式硬件·mcu
殷忆枫9 小时前
嵌入式Linux下基于FFmpeg实现MP4解码为JPG图片(SSD202D交叉编译实战)
linux·运维·ffmpeg
≮傷£≯√1 天前
图片合并成视频 img2video ffmpeg
ffmpeg·音视频
ZJU_统一阿萨姆1 天前
【算子开发】扫描(Scan)与前缀和
开发语言·arm开发·架构·系统架构·硬件架构
振南的单片机世界1 天前
终端电阻硬核拆解:不接120Ω,RS485信号“撞墙反弹”乱码
arm开发·stm32·单片机·嵌入式硬件
HY小宝F2 天前
树莓派 FFmpeg 实战笔记(二):命令行、源码编译与硬件编码的真相
学习·职场和发展·ffmpeg
又见情义2 天前
RK3568 Android 13 驱动适配实战:从零开始让SDK在自己的板子上跑起来
android·arm开发·驱动开发
振南的单片机世界2 天前
看门狗硬核拆解:1.6秒不喂狗,硬件强制“掀桌子”
arm开发·stm32·单片机·嵌入式硬件