一种基于弱网的音视频实时通信方法、装置以及设备制造方法及图纸

技术编号:30555498 阅读:18 留言:0更新日期:2021-10-30 13:37
本发明专利技术公开了一种基于弱网的音视频实时通信方法,所述方法包括:接收发送端发送的流媒体数据和RR包;对所述流媒体数据进行重新排列并组装有效的视频帧,将所述视频帧进行解码播放;对所述RR包进行往返时间RTT和丢包率统计,并基于预设时间通过第一RTCP对网络参数进行监控是否生成请求发送至所述发送端,其中,所述网络参数包括关键帧PLI、NACK、REMB包和SR包中的至少一项;通过第二RTCP根据不同的所述请求触发对应的回调函数,通过所述回调函数动态修正编码器的相关值和丢包数据的重传。能够实现在配置相对低端设备下保证弱网视频通话质量、提高用户的会话体验。提高用户的会话体验。提高用户的会话体验。

【技术实现步骤摘要】
一种基于弱网的音视频实时通信方法、装置以及设备


[0001]本专利技术涉及音视频通信
,尤其涉及一种基于弱网的音视频实时通信方法、装置以及设备。

技术介绍

[0002]目前开源大都是基于PC机进行设计的,其框架都比较庞大。现有主流音视频框架如ffmpeg、webRTC等等,一方面是整体项目庞大包括库的大小,对内存和CPU有较高的要求,而在低内存和CPU性能情况下对于弱网视频质量条件比较严苛,实现一个相对完整的弱网解决方案难度较大;另一方面大量采用了STL标准库函数,不适用于低配置Linux嵌入式终端产品,而低配置设备对于弱网下音视频解决方案比较单一,部分只能支持简单的丢包重传功能,弱网对抗效果比较一般。因此,现有方案中的低配置设备无法在弱网下提供比较好的音视频通话效果。

技术实现思路

[0003]有鉴于此,本专利技术的目的在于提出一种基于弱网的音视频实时通信方法、装置以及设备,能够实现在配置相对低端设备下保证弱网视频通话质量、提高用户的会话体验。
[0004]为实现上述目的,本专利技术提供一种基于弱网的音视频实时通信方法,所述方法包括:
[0005]接收发送端发送的流媒体数据和RR包;
[0006]对所述流媒体数据进行重新排列并组装有效的视频帧,将所述视频帧进行解码播放;
[0007]对所述RR包进行往返时间RTT和丢包率统计,并基于预设时间通过第一RTCP对网络参数进行监控是否生成请求发送至所述发送端,其中,所述网络参数包括关键帧PLI、NACK、REMB包和SR包中的至少一项;
[0008]通过第二RTCP根据不同的所述请求触发对应的回调函数,通过所述回调函数动态修正编码器的相关值和丢包数据的重传。
[0009]优选的,所述对所述流媒体数据进行重新排列并组装有效的视频帧,将所述视频帧进行解码播放的步骤包括:
[0010]对所述流媒体数据的序列号进行丢包统计得到丢包队列,并将所述丢包队列发送至所述第一RTCP以生成NACK请求;
[0011]根据所述丢包队列判断是否达到丢包预设值,和/或对所述解码进行分析是否存在解码错误,是则发送至所述第一RTCP以生成关键帧PLI请求。
[0012]优选的,所述对所述流媒体数据的序列号进行丢包统计得到丢包队列的步骤包括:
[0013]当接收到旧包到达时将对应的序列号从所述丢包队列中移除。
[0014]优选的,在所述对所述RR包进行往返时间RTT和丢包率统计之后,还包括:
[0015]根据所述丢包率和往返时间RTT、以及对所获取的所述流媒体数据的数据大小和接收时间进行处理,得到当前带宽的预测码率并发送至所述第一RTCP以生成REMB请求。
[0016]优选的,所述处理进一步包括:
[0017]利用卡尔曼滤波或神经网络进行处理。
[0018]优选的,通过第二RTCP根据不同的所述请求触发对应的回调函数,通过所述回调函数动态修正编码器的相关值和丢包数据的重传的步骤包括:
[0019]若收到所述NACK请求时,则解析所述丢包队列后检查每个序列号是否过时、当前重传的流量是否超过预设流量,是则进一步检查所述丢包队列是否存在于缓存队列中,是则重传对应的流量包。
[0020]优选的,通过第二RTCP根据不同的所述请求触发对应的回调函数,通过所述回调函数动态修正编码器的相关值和丢包数据的重传的步骤包括:
[0021]若收到所述关键帧PLI请求时,则判断是否存在短时间多次请求,是则向解码器请求生成关键帧进行发送。
[0022]优选的,通过第二RTCP根据不同的所述请求触发对应的回调函数,通过所述回调函数动态修正编码器的相关值和丢包数据的重传的步骤包括:
[0023]若收到所述REMB请求时,则根据所述REMB请求解析出速率值,并根据所述丢包率和往返时间RTT通过TFRC进行计算得到发送速率值的下限;
[0024]根据所述丢包率、所述往返时间RTT以及所述速率值对所述发送速率值进行修正,并基于预设速率范围计算所述当前带宽的码率和分辨率发送至解码器进行修改。
[0025]为实现上述目的,本专利技术还提供一种基于弱网的音视频实时通信装置,所述装置包括:
[0026]接收单元,用于接收发送端发送的流媒体数据和RR包;
[0027]组装单元,用于对所述流媒体数据进行重新排列并组装有效的视频帧,将所述视频帧进行解码播放;
[0028]监控单元,用于对所述RR包进行往返时间RTT和丢包率统计,并基于预设时间通过第一RTCP对网络参数进行监控是否生成请求发送至所述发送端,其中,所述网络参数包括关键帧PLI、NACK、REMB包和SR包中的至少一项;
[0029]修正单元,用于通过第二RTCP根据不同的所述请求触发对应的回调函数,通过所述回调函数动态修正编码器的相关值和丢包数据的重传。
[0030]为实现上述目的,本专利技术还提供一种基于弱网的音视频实时通信设备,包括处理器、存储器以及存储在所述存储器内的计算机程序,所述计算机程序能够被所述处理器执行以实现如上述实施例所述的一种基于弱网的音视频实时通信方法。
[0031]有益效果:
[0032]以上方案,通过采用自研的RTCP对于流量控制、丢包请求等进行统一控制,整体设计紧凑,且对于系统的flash占用小、内存和cpu消耗更少,通过简化内部实现,只针对特定的弱网功能提供相应的支持,减少不必要的开销,使得整体更为轻量化,响应更为快速,适用于各种配置相对小的Linux终端设备使用,保证了弱网视频的质量提升。
[0033]以上方案,利用丢包重传、关键帧请求、带宽预测、动态码率和帧率保证了弱网下视频通话的质量,低带宽下实现了高延迟和丢包下视频流畅的播放。
附图说明
[0034]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0035]图1为本专利技术一实施例提供的一种基于弱网的音视频实时通信方法的流程示意图。
[0036]图2为本专利技术一实施例提供的辅助处理系统的结构示意图。
[0037]图3为本专利技术一实施例提供的一种基于弱网的音视频实时通信装置的结构示意图。
[0038]图4为本专利技术一实施例提供的基于弱网的音视频实时通信设备的结构示意图。
[0039]专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0040]为使本专利技术实施方式的目的、技术方案和优点更加清楚,下面将结合本专利技术实施方式中的附图,对本专利技术实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本专利技术一部分实施方式,而不是全部的实施方式。基于本专利技术中的实施方式,本领域普通技术人员在没有作出创本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于弱网的音视频实时通信方法,其特征在于,所述方法包括:接收发送端发送的流媒体数据和RR包;对所述流媒体数据进行重新排列并组装有效的视频帧,将所述视频帧进行解码播放;对所述RR包进行往返时间RTT和丢包率统计,并基于预设时间通过第一RTCP对网络参数进行监控是否生成请求发送至所述发送端,其中,所述网络参数包括关键帧PLI、NACK、REMB包和SR包中的至少一项;通过第二RTCP根据不同的所述请求触发对应的回调函数,通过所述回调函数动态修正编码器的相关值和丢包数据的重传。2.根据权利要求1所述的一种基于弱网的音视频实时通信方法,其特征在于,所述对所述流媒体数据进行重新排列并组装有效的视频帧,将所述视频帧进行解码播放的步骤包括:对所述流媒体数据的序列号进行丢包统计得到丢包队列,并将所述丢包队列发送至所述第一RTCP以生成NACK请求;根据所述丢包队列判断是否达到丢包预设值,和/或对所述解码进行分析是否存在解码错误,是则发送至所述第一RTCP以生成关键帧PLI请求。3.根据权利要求2所述的一种基于弱网的音视频实时通信方法,其特征在于,所述对所述流媒体数据的序列号进行丢包统计得到丢包队列的步骤包括:当接收到旧包到达时将对应的序列号从所述丢包队列中移除。4.根据权利要求1所述的一种基于弱网的音视频实时通信方法,其特征在于,在所述对所述RR包进行往返时间RTT和丢包率统计之后,还包括:根据所述丢包率和往返时间RTT、以及对所获取的所述流媒体数据的数据大小和接收时间进行处理,得到当前带宽的预测码率并发送至所述第一RTCP以生成REMB请求。5.根据权利要求4所述的一种基于弱网的音视频实时通信方法,其特征在于,所述处理进一步包括:利用卡尔曼滤波或神经网络进行处理。6.根据权利要求2所述的一种基于弱网的音视频实时通信方法,其特征在于,通过第二RTCP根据不同的所述请求触发对应的回调函数,通过所述回调函数动态修正编码器的相关值和丢包数据的重传的步骤包括:若收到所述NAC...

【专利技术属性】
技术研发人员:袁观福巫有福王居辉
申请(专利权)人:睿云联厦门网络通讯技术有限公司
类型:发明
国别省市:

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

1