Toybrick

多通道使用FFMPEG取RTSP流+MPP解码+DRM显示,速率的问题

wtmelen

注册会员

积分
75
发表于 2022-9-9 20:01:33    查看: 1722|回复: 1 | [复制链接]    打印 | 显示全部楼层
本帖最后由 wtmelen 于 2022-9-9 20:44 编辑

请教大神们,有啥解决办法不,或者实现思路。
多通道使用FFMPEG取RTSP流+MPP解码+DRM显示,速率的问题。

实现思路:
因为MPP多实例时要求上下文独立,所以线程池的方式肯定搞不了了
有几个通道就创建几个FFMPEG+MPP的线程,然后使用Opencv对YUV图像进行转换
最后使用一个drm的framebuffer显示。

与opencv取流+imshow相比
问题:
在一个通道的情况下,读取网络摄像头的延时与使用opencv方式差不多,约5s,但是会遇到解码卡死的情况。
在多个通道时,使用6通道监测一个摄像头,会有通道出现卡死的情况,有的通道的延时巨长。


我现在的想的提升效率/实时性的方式:(也不知道可不可行)
1、队列保证实时性
将帧先丢入队列里面,然后送入MPP解码。另外一个线程取结果
2、rga模块
这个没摸过,先想一想
回复

使用道具 举报

wtmelen

注册会员

积分
75
 楼主| 发表于 2022-9-17 12:25:16 | 显示全部楼层
本帖最后由 wtmelen 于 2022-9-17 12:26 编辑

使用使用Opencv对YUV图像进行转换延时很大,之后用了rga快多了,延时可以跟usb摄像头貌美。看网上说可以实现0拷贝,这几天试试。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表