香橙派rk3588编程mpp解码rga拼接转格式opengles渲染的多路视频播放器32路测试

演示效果
https://www.bilibili.com/video/BV1rL7SzTEcY/
1080p@30 码率2554kbps
注意 这是远程桌面 会比实际接屏幕效果差一些

性能
cpu 160%(满载800%)
mem 56% 4.39GB (用户空间才占500MB 但是内核空间可能已经占了几G)
rga rga3_core0:65% rga3_core1:53% rga2:10%
gpu 21%
温度 73度

实现方案
ffmpeg拉流rtsp获得h265 为了传输稳定配置rtsp over tcp
mpp解码h265获得nv12 注意解码器会有帧长度对齐
rga拼接合成 将解码获得的nv12放缩 裁剪 然后拼接 将32路图像帧合成一帧
rga转换nv12成rgb
opengles对接X11渲染rgb 使用pbo双缓冲提高内存加载到GPU的效率

与上次16路相比区别主要是
rga处理顺序调整 提高处理效率
mpp解码为265 一个反常识的知识 一般解码265比解码264快 实测解码1080P@30 在h264时最多16路 在h265时最多32路

环境
主控 rk3588
板卡 香橙派5 ultra
系统 ubuntu桌面

posted @ 2025-06-02 22:32  逸俊晨晖  阅读(269)  评论(1)    收藏  举报