您尚未登录。

楼主 # 2023-09-24 17:25:42

FH0
会员
注册时间: 2023-09-22
已发帖子: 6
积分: 6

探索 Qt 硬件加速播放视频的可能性

目前需要在 RK3568 上播放多路视频,比如 16 路 720P 视频。总结了以下几种方案。

1. 使用 libyuv 将 YUV 转成 RGB 后播放。优点是 libyuv 可以调用各个平台的 SIMD 硬件加速进行转码,可以在自己的电脑上调试好之后再烧录。
2. 使用 rga 将 YUV 转成 RGB 后播放。性能比 libyuv 高,但仅支持瑞芯微平台,需要烧录之后才能调试。
3. 使用 OpenGL 将 YUV 转成 RGB 后播放。优点是可以利用闲置的 GPU 资源,不增加 CPU 负担,但有爆显存的风险(遇到过几次)。也许可以增加显存来解决,但没有实操过。

最近在看使用 DRM/Wayland 直接播放 YUV,但是不知道怎么和 Qt 结合起来,因为需要用到 Qt 的按钮、输入框、菜单这些控件。因为 Wayland/DRM 是支持支持 YUV 的格式的,使用 gstreamer 的多路 waylandsink 播放视频可以观察到 CPU 的占用只有方案一的三分之二。

至于 Wayland/DRM 是怎么支持 YUV 的,目前还不清楚,推测也是转成 RGB,但应该在内存拷贝等方面有优势。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn