RK3588 Opencv-ffmpeg-rkmpp-rkrga编译与测试
-
- 硬件背景说明
- 编译环境准备
-
- 1. 编译MPP(媒体处理平台)
- 2. 编译RGA(图形加速库)
- 3. 构建支持硬件加速的FFmpeg
-
- 重要代码修改说明
- 4. 验证安装
- 5.FFmpeg转码测试
- OpenCV编译集成
- Python OpenCV+FFmpeg测试
硬件背景说明
RK3588是瑞芯微推出的旗舰级ARM处理器,具备6TOPS NPU和8K视频编解码能力。其特有的硬件加速模块包括:
通过结合这些硬件加速模块,可大幅提升视频处理效率。例如在1080P视频缩放场景,RGA加速相比CPU处理可提升30倍性能。
编译环境准备
1. 编译MPP(媒体处理平台)
# 卸载旧版MPP防止版本冲突
dpkg –purge –force-all librockchip-mpp-dev librockchip-mpp1 rockchip-mpp-demos
# 获取指定版本源码(1.0.9版已验证兼容性)
git clone https://github.com/rockchip-linux/mpp.git
cd mpp
git checkout 1.0.9
# 配置编译选项
mkdir build
cd build
cmake \\
-DCMAKE_INSTALL_PREFIX=/usr/local \\
-DCMAKE_BUILD_TYPE=Release \\
-DBUILD_SHARED_LIBS=ON \\
-DBUILD_TEST=OFF ..
make -j4
make install
关键参数说明:
- BUILD_SHARED_LIBS=ON:生成动态链接库(.so文件),方便其他程序调用
- CMAKE_INSTALL_PREFIX:指定头文件和库的安装路径,避免污染系统目录
2. 编译RGA(图形加速库)
# 使用特定分支的RGA实现
git clone -b jellyfin-rga –depth=1 https://github.com/nyanmisaka/rk-mirrors.git rkrga
cd rkrga
# 配置Meson构建系统
mkdir install rkrga_build
meson setup . rkrga_build \\
–prefix=/usr/local \\
–libdir=lib \\
–buildtype=release \\
–default-library=shared \\
-Dcpp_args=-fpermissive \\
-Dlibdrm=false \\
-Dlibrga_demo=false
meson configure rkrga_build
ninja -C rkrga_build install
3. 构建支持硬件加速的FFmpeg
# 获取定制版FFmpeg源码
git clone https://github.com/nyanmisaka/ffmpeg-rockchip.git
cd ffmpeg-rockchip
git checkout 57d5befee96f229b05fa09334a4d7a6f95a324bd # 指定兼容性验证的提交
# 安装依赖库
apt install libdrm-dev -y # DRM显示驱动开发包
# 配置编译参数
./configure –prefix=/usr/local –enable-gpl –enable-version3 \\
–enable-pic –enable-shared –disable-static \\
–enable-libdrm –enable-rkmpp –enable-rkrga
make -j4
make install
重要代码修改说明
修改rkrga_common.c文件:
diff –git a/libavfilter/rkrga_common.c b/libavfilter/rkrga_common.c
index 7ca88ccae9..8f80ee4fe4
评论前必须登录!
注册