先下载,再解压
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 -