多路视频码流实时处理、同屏播放方法及相关系统技术方案

技术编号:32753612 阅读:23 留言:0更新日期:2022-03-23 18:49
本发明专利技术公开了多路视频码流实时处理、同屏播放方法及相关系统。其中,多路视频码流实时处理方法包括:并行接收各视频服务器通过关联的码流接收通道发送的实时视频码流,将接收的实时视频码流拆分为多帧数据帧,将数据帧加入对应缓存队列,码流接收通道与分配的CPU内存绑定,码流接收通道与所述缓存队列一一对应;针对每个缓存队列,按设定间隔向对应硬件解码缓存区域发送数据帧;并行对各解码缓存区域中的数据帧进行硬件解码,将得到的解码后数据帧输送到对应渲染缓存区域;并行离屏渲染各渲染缓存区域中的解码后数据帧,得到用于播放的渲染后数据帧。能够实现多路视频码流实时并线处理,且优化了CPU内存资源的占用。且优化了CPU内存资源的占用。且优化了CPU内存资源的占用。

【技术实现步骤摘要】
多路视频码流实时处理、同屏播放方法及相关系统


[0001]本专利技术涉及多媒体播放
,特别涉及多路视频码流实时处理、同屏播放方法及相关系统。

技术介绍

[0002]在当前数字信息时代,伴随着人工智能(Artificial Intelligence,AI)产业的飞速发展,已存在大量网络摄像机IP Camera,而这些相关的IP Camera目前主要作为监控视频的用途,AI推动这些存量的IP Camera面向更多的新需求,而多路实时视频处理方式和多窗口实时监控画面展现可降低大量的资金成本,故实现对多路IP Camera实时拍摄的视频进行同步处理和多窗口同步播放是目前亟待解决的技术问题。

技术实现思路

[0003]公开号为CN101668206A,名称为“基于H.264的多路视频解码显示方法及系统”的中国专利,提供了一种多路视频流显示的方法。该方案实现了多路同时播放视频显示,可对各个视频分别控制。该方案流程如下:
[0004]1.选择播放窗口,选择欲播放的视频文件,判断当前窗口的视频播放状态是否为停止;
[0005]2.如果是则进行下一步骤,否则先停止该窗口正在播放的视频;
[0006]3.然后进行下一步骤,取得所选择视频文件的路径和名称,显示于屏幕上指定位置;
[0007]4.根据选择的窗口号创建相应的播放线程,用于在所选择的窗口位置播放显示视频文件,判断是否又有新的视频文件要播放,是则进行第一步骤,否则进行下一步,执行播放线程函数。
[0008]上述方案虽然提供了视频码流分别控制的思想,但无法提供网络实时视频码流的方案,且无法实现PIPELINE的方式,如当前输入高清视频时,进行多路视频显示会造成高清视频占用CPU性能过高,从而降低屏幕显示(on

screen display,OSD)的流畅度。
[0009]公开号为CN1767601A,名称为“一种支持多源流媒体的同步播放控制方法”的中国专利,提供了一种支持多源流媒体的同步播放控制方法,实现该方法的装置包括分离器、解码器组、多源流媒体同步模块、多源视频流融合模块、OSD模块以及音频滤镜模块;分离器将多个本地媒体文件或多路流媒体中的视音频数据进行分离;解码器组调用相应解码器,解码后数据被送至多源流媒体同步模块;多源流媒体同步模块采用多粒度分层同步控制机制对媒体对象之间以及媒体对象内的多路流媒体进行同步控制;多路视频由多源视频融合模块融合为一路视频;OSD模块将融合后的数据与音量大小、当前播放时间或字幕信息叠加后进行视频输出;多路音频由音频滤镜模块进行格式转换、线性叠加后进行音频输出。
[0010]上述方案在OSD数据融合过程中会造成大量的YUV数据拷贝,容易导致CPU性能低下;且针对网络流媒体,无法进行自适应码流控制,在播放流畅度体验上比较差,如多路显
示视频,OSD数据融合过程中对于高清视频,会出现耗时的数据拷贝,造成整体性能下降;该方案针对多源不同帧率的视频码流,在显示频率上做出解决方案,会造成OSD刷新频率固定下,显示丢帧的情况。
[0011]鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的多路视频码流实时处理、同屏播放方法及相关系统。
[0012]第一方面,本专利技术实施例提供一种多路视频码流实时处理方法,包括:
[0013]并行接收各视频服务器通过关联的码流接收通道发送的实时视频码流,将接收的实时视频码流拆分为多帧数据帧,将数据帧加入对应缓存队列,所述码流接收通道与分配的CPU内存绑定,所述码流接收通道与所述缓存队列一一对应;
[0014]针对每个缓存队列,按设定间隔向对应硬件解码缓存区域发送数据帧;
[0015]并行对各解码缓存区域中的数据帧进行硬件解码,将得到的解码后数据帧输送到对应渲染缓存区域;
[0016]并行离屏渲染各渲染缓存区域中的解码后数据帧,得到用于播放的渲染后数据帧。
[0017]第二方面,本专利技术实施例提供一种多路视频码流同屏播放方法,包括:
[0018]并行接收各视频服务器通过关联的码流接收通道发送的实时视频码流,将接收的实时视频码流拆分为多帧数据帧,将数据帧加入对应缓存队列,所述码流接收通道与分配的CPU内存绑定,所述码流接收通道与所述缓存队列一一对应;
[0019]针对每个缓存队列,按设定间隔向对应硬件解码缓存区域发送数据帧;
[0020]并行对各解码缓存区域中的数据帧进行硬件解码,将得到的解码后数据帧输送到对应渲染缓存区域;
[0021]根据对应子窗口的位置并行离屏渲染各渲染缓存区域中的解码后数据帧,在所述子窗口播放渲染后数据帧,实现各路实时视频码流的同屏播放。
[0022]第三方面,本专利技术实施例提供一种多路视频码流实时处理系统,包括实时码流接收模块、实时码流缓存模块、硬件解码组件和渲染模块;
[0023]所述实时码流接收模块,用于并行接收各视频服务器通过关联的码流接收通道发送的实时视频码流,将接收的实时视频码流拆分为多帧数据帧,将数据帧加入所述实时码流缓存模块中的对应缓存队列,所述码流接收通道与分配的CPU内存绑定,所述码流接收通道与所述缓存队列一一对应;
[0024]所述实时码流缓存模块,用于针对每个缓存队列,按设定间隔向所述硬件解码组件的对应硬件解码缓存区域发送数据帧;
[0025]所述硬件解码组件,用于并行对各解码缓存区域中的数据帧进行硬件解码,将得到的解码后数据帧输送到所述渲染模块的对应渲染缓存区域;
[0026]所述渲染模块,用于并行离屏渲染各渲染缓存区域中的解码后数据帧,得到用于播放的渲染后数据帧。
[0027]第四方面,本专利技术实施例提供一种多路视频码流同屏播放系统,包括实时码流接收模块、实时码流缓存模块、硬件解码组件和视频显示模块;
[0028]所述实时码流接收模块,用于并行接收各视频服务器通过关联的码流接收通道发送的实时视频码流,将接收的实时视频码流拆分为多帧数据帧,将数据帧加入所述实时码
流缓存模块中的对应缓存队列,所述码流接收通道与分配的CPU内存绑定,所述码流接收通道与所述缓存队列一一对应;
[0029]所述实时码流缓存模块,用于针对每个缓存队列,按设定间隔向所述硬件解码组件的对应硬件解码缓存区域发送数据帧;
[0030]所述硬件解码组件,用于并行对各解码缓存区域中的数据帧进行硬件解码,将得到的解码后数据帧输送到所述视频显示模块的对应渲染缓存区域;
[0031]所述视频显示模块,用于根据对应子窗口的位置并行离屏渲染各渲染缓存区域中的解码后数据帧,在所述子窗口播放渲染后数据帧,实现各路实时视频码流的同屏播放。
[0032]第五方面,本专利技术实施例提供一种终端设备,所述终端设备设置有上述多路视频码流实时处理系统,或设置有上述多路视频码流同屏播放系统。
[0033]第六方面,本专利技术实施例提供一种多路视频码流同屏播放系统,包括播放设备和多本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多路视频码流实时处理方法,其特征在于,包括:并行接收各视频服务器通过关联的码流接收通道发送的实时视频码流,将接收的实时视频码流拆分为多帧数据帧,将数据帧加入对应缓存队列,所述码流接收通道与分配的CPU内存绑定,所述码流接收通道与所述缓存队列一一对应;针对每个缓存队列,按设定间隔向对应硬件解码缓存区域发送数据帧;并行对各解码缓存区域中的数据帧进行硬件解码,将得到的解码后数据帧输送到对应渲染缓存区域;并行离屏渲染各渲染缓存区域中的解码后数据帧,得到用于播放的渲染后数据帧。2.如权利要求1所述的方法,其特征在于,所述按设定间隔向对应硬件解码缓存区域发送数据帧,具体包括:判断当前时间与向对应硬件解码缓存区域发送上一数据帧的时间的间隔是否不小于设定间隔;若是,向所述对应硬件解码缓存区域发送当前数据帧;若否,等待至当前时间与向所述对应硬件解码缓存区域发送上一数据帧的时间的间隔等于所述设定间隔,向所述对应硬件解码缓存区域发送当前数据帧。3.如权利要求2所述的方法,其特征在于,所述向所述对应解码缓存区域发送当前数据帧前,还包括:判断当前缓存队列中数据帧的帧数是否大于设定帧数;若否,执行所述向所述对应解码缓存区域发送当前数据帧的步骤;若是,按接收时间由先到后的顺序遍历当前缓存队列,直至当前遍历的数据帧为关键帧,执行所述向所述对应解码缓存区域发送当前数据帧的步骤。4.如权利要求3所述的方法,其特征在于,所述按接收时间由先到后的顺序遍历当前缓存队列,直至当前遍历的数据帧为关键帧,具体包括:按接收时间由先到后的顺序遍历当前缓存队列,若当前遍历的数据帧不是关键帧,释放当前数据帧,直至当前遍历的数据帧为关键帧;或,按接收时间由先到后的顺序遍历当前缓存队列,直至当前遍历的数据帧为关键帧,释放遍历过的非关键数据帧。5.如权利要求1所述的方法,其特征在于,所述将接收的实时视频码流拆分为多帧数据帧,具体包括:将接收的实时视频码流解析后封装为数据包;将数据包拆分为多帧数据帧,为每帧数据帧填加预先从视频服务器回复的SDP信息中解析出的VPS、PPS和SPS信息。6.如权利要求1所述的方法,其特征在于,若判断CPU存在闲置内存,所述按设定间隔向对应硬件解码缓存区域发送数据帧,还包括:按设定间隔向对应软件解码缓存区域发送数据帧;相应的,所述并行对各硬件解码缓存区域中的数据帧进行硬件解码,还包括:并行对各软件解码缓存区域中的数据帧进行软件解码。7.如权利要求1所述的方法,其特征在于,所述离屏渲染各渲染缓存区域中的解码后数据帧,具体包括:
利用FBO方式离屏渲染各渲染缓存区域中的解码后数据帧。8.如权利要求1~7任一项所述的方法,其特征在于,还包括:将从所述渲染缓存区域获取的渲染后数据帧发送到AI缓存区域;将AI缓存区域中的各路视频码流的渲染后数据帧进行时间对齐,将各路视频码流的同一时间的渲染后数据帧融合为一帧,得到融合后数据帧。9.一种多路视频码流同屏播放方法,其特征在于,包括...

【专利技术属性】
技术研发人员:赵云龙王元禹
申请(专利权)人:重庆创通联达智能技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1