音视频通信方法、终端、服务器、计算机设备和存储介质技术

技术编号:30339186 阅读:21 留言:0更新日期:2021-10-12 23:04
本发明专利技术公开了一种音视频通信方法、终端、服务器、计算机设备和存储介质,所述音视频通信方法,应用于终端,包括:接入服务器并通过服务器与另一终端建立音视频会话连接;采集音视频,对所述音视频进行编码压缩并将编码压缩后的数据封装为RTP数据包;基于UDP协议将所述RTP数据包发送至所述服务器,所述服务器转发所述RTP数据包发送至所述另一终端。本发明专利技术提供的实施例使用UDP协议进行实时高清的音视频传输,在提高音视频传输可靠性的同时,有效降低音视频传输的延时,具有广泛的应用前景。具有广泛的应用前景。具有广泛的应用前景。

【技术实现步骤摘要】
音视频通信方法、终端、服务器、计算机设备和存储介质


[0001]本专利技术涉及通信
,特别是涉及一种音视频通信方法、终端、服务器、计算机设备和存储介质。

技术介绍

[0002]随着互联网技术的发展,在远程医疗、在线教育、视频会议等行业的业务场景中,低延时音视频互动的流媒体服务需求越来越旺盛,现有大部分视频直播是基于RTMP流媒体协议,但基于TCP的数据传输过程过于繁杂,使得整个链路的音视频传输延时通常在1-3秒,无法满足低延时互动的需求;UDP协议本身没有连接的概念,不需要三次握手和各种繁杂的传输特性,实时性比TCP好,但是其传输机制存在不可靠传送的问题。

技术实现思路

[0003]为了解决上述问题至少之一,本专利技术第一个实施例提供一种音视频通信方法,应用于终端,包括:
[0004]接入服务器并通过服务器与另一终端建立音视频会话连接;
[0005]采集音视频,对所述音视频进行编码压缩并将编码压缩后的数据封装为RTP数据包;
[0006]基于UDP协议将所述RTP数据包发送至所述服务器,所述服务器转发所述RTP数据包发送至所述另一终端。
[0007]进一步的,还包括:
[0008]基于UDP协议接收经所述服务器转发的由所述另一终端发送的RTP数据包,并解码播放所述经所述服务器转发的由所述另一终端发送的RTP数据包的音视频。
[0009]进一步的,所述终端还包括发送窗口缓冲区,用于保存第一时间阈值范围内所有发送的所述RTP数据包;
[0010]所述基于UDP协议将所述RTP数据包发送至所述服务器的步骤包括:
[0011]所述发送窗口缓冲区响应于所述另一终端发送的丢包报文将对应的所述RTP数据包重新发送,其中所述丢包报文为所述另一终端在检测到丢包时刻的一个传输时间周期后发送的。
[0012]进一步的,所述终端还包括发送窗口缓冲区,用于保存第一时间阈值范围内所有发送的所述RTP数据包;
[0013]所述基于UDP协议将所述RTP数据包发送至所述服务器的步骤包括:
[0014]所述发送窗口缓冲区接收所述另一终端发送的确认报文并根据所述确认报文与所述RTP数据包的对应关系,删除所述发送窗口缓冲区中包括最小序号的连续RTP数据包。
[0015]进一步的,所述终端还包括发送窗口缓冲区、第一计数器和第二计数器,其中,所述发送窗口缓冲区用于保存第一时间阈值范围内所有发送的所述RTP数据包,所述第一计数器用于记录所述发送窗口缓冲区中发送时间最早的RTP数据包的时间戳,所述第二计数
器用于记录所述发送窗口缓冲区中发送时间最晚的RTP数据包的时间戳;
[0016]所述基于UDP协议将所述RTP数据包发送至所述服务器的步骤包括:
[0017]根据所述第一计数器和第二计数器实时获取链路延时;
[0018]根据所述链路延时实时调整所述编码压缩的编码码率。
[0019]进一步的,所述根据所述链路延时实时调整所述编码压缩的编码码率进一步包括:
[0020]若所述链路延时大于预设置的拥塞阈值,根据在第二时间阈值范围内接收的所述另一终端已确认的RTP数据包计算链路实时带宽,并根据所述链路实时带宽调整所述编码压缩的编码码率;
[0021]若所述链路延时小于预设置的拥塞阈值则根据所述链路延时调整所述编码压缩的编码码率。
[0022]进一步的,所述基于UDP协议将所述RTP数据包发送至所述服务器的步骤还包括:
[0023]若所述链路延时大于预设置的拥塞阈值,将所述发送窗口缓冲区中的各RTP数据包中第三时间阈值范围外的音视频帧的数据删除。
[0024]进一步的,所述终端还包括接收窗口缓冲区,用于保存第四时间阈值范围内所有接收的所述RTP数据包;
[0025]所述基于UDP协议接收经所述服务器转发的由所述另一终端发送的RTP数据包,并解码播放所述经所述服务器转发的由所述另一终端发送的RTP数据包的音视频的步骤包括:
[0026]所述接收窗口缓冲区根据已接收的所述RTP数据包推断即将接收的RTP数据包的预期序号,若最新接收的所述RTP数据包的序号大于所述预期序号则判断存在丢包并获取丢包数量和所述丢包的各RTP数据包的序号,若在检测到所述各RTP数据包的丢包时刻的一个传输时间周期内没有收到对应的RTP数据包则生成包括没有收到的RTP数据包的序号的丢包报文发送至所述另一终端以请求重传。
[0027]进一步的,所述终端还包括播放缓冲区;
[0028]所述基于UDP协议接收经所述服务器转发的由所述另一终端发送的RTP数据包,并解码播放所述经所述服务器转发的由所述另一终端发送的RTP数据包的音视频的步骤还包括:
[0029]对接收的RTP数据包进行解封装以获取所述另一终端的音视频数据;
[0030]所述播放缓冲区根据所述另一终端的音视频数据形成音视频帧,根据第五时间阈值调整各所述音视频帧的播放状态,所述播放状态包括缓冲状态和待播放状态,其中所述第五时间阈值根据所述丢包数量和一个传输时间周期动态调整。
[0031]进一步的,所述基于UDP协议接收经所述服务器转发的由所述另一终端发送的RTP数据包,并解码播放所述经所述服务器转发的由所述另一终端发送的RTP数据包的音视频的步骤还包括:根据所述音视频帧的播放状态拼接画面帧并按照播放时间对所述音视频帧进行解码并进行渲染播放。
[0032]本专利技术第二个实施例提供一种音视频通信方法,应用于服务器,包括:
[0033]分别接收第一终端和第二终端的接入请求并建立所述第一终端和第二终端的音视频会话连接;
[0034]接收所述第一终端和第二终端中的一个基于UDP协议发送的RTP数据包并转发至所述第一终端和第二终端中的另一个,其中所述RTP数据包为所述第一终端或第二终端对采集的音视频进行编码压缩并封装的,使得所述第一终端和第二终端中的另一个基于UDP协议接收所述RTP数据包,并解码播放所述RTP数据包的音视频。
[0035]本专利技术第三个实施例提供一种终端,包括接入单元、采集编码单元和发送单元,其中
[0036]所述接入单元,配置为接入服务器并通过服务器与另一终端建立音视频会话连接;
[0037]所述采集编码单元,配置为采集音视频,对所述音视频进行编码压缩并将编码压缩后的数据封装为RTP数据包;
[0038]所述发送单元,配置为基于UDP协议将所述RTP数据包发送至所述服务器,所述服务器转发所述RTP数据包发送至所述另一终端。
[0039]进一步的,还包括
[0040]接收单元,配置为基于UDP协议接收经所述服务器转发的由所述另一终端发送的RTP数据包,并解码播放所述经所述服务器转发的由所述另一终端发送的RTP数据包的音视频。
[0041]本专利技术第四个实施例提供一种服务器,包括信令交互单元和转发单元,其中
[0042]所述信令交互单元,配置为分别接收第一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种音视频通信方法,应用于终端,其特征在于,包括:接入服务器并通过服务器与另一终端建立音视频会话连接;采集音视频,对所述音视频进行编码压缩并将编码压缩后的数据封装为RTP数据包;基于UDP协议将所述RTP数据包发送至所述服务器,所述服务器转发所述RTP数据包发送至所述另一终端。2.根据权利要求1所述的音视频通信方法,其特征在于,还包括:基于UDP协议接收经所述服务器转发的由所述另一终端发送的RTP数据包,并解码播放所述经所述服务器转发的由所述另一终端发送的RTP数据包的音视频。3.根据权利要求1或2所述的音视频通信方法,其特征在于,所述终端还包括发送窗口缓冲区,用于保存第一时间阈值范围内所有发送的所述RTP数据包;所述基于UDP协议将所述RTP数据包发送至所述服务器的步骤包括:所述发送窗口缓冲区响应于所述另一终端发送的丢包报文将对应的所述RTP数据包重新发送,其中所述丢包报文为所述另一终端在检测到丢包时刻的一个传输时间周期后发送的。4.根据权利要求1或2所述的音视频通信方法,其特征在于,所述终端还包括发送窗口缓冲区,用于保存第一时间阈值范围内所有发送的所述RTP数据包;所述基于UDP协议将所述RTP数据包发送至所述服务器的步骤包括:所述发送窗口缓冲区接收所述另一终端发送的确认报文并根据所述确认报文与所述RTP数据包的对应关系,删除所述发送窗口缓冲区中包括最小序号的连续RTP数据包。5.根据权利要求1或2所述的音视频通信方法,其特征在于,所述终端还包括发送窗口缓冲区、第一计数器和第二计数器,其中,所述发送窗口缓冲区用于保存第一时间阈值范围内所有发送的所述RTP数据包,所述第一计数器用于记录所述发送窗口缓冲区中发送时间最早的RTP数据包的时间戳,所述第二计数器用于记录所述发送窗口缓冲区中发送时间最晚的RTP数据包的时间戳;所述基于UDP协议将所述RTP数据包发送至所述服务器的步骤包括:根据所述第一计数器和第二计数器实时获取链路延时;根据所述链路延时实时调整所述编码压缩的编码码率。6.根据权利要求5所述的音视频通信方法,其特征在于,所述根据所述链路延时实时调整所述编码压缩的编码码率进一步包括:若所述链路延时大于预设置的拥塞阈值,根据在第二时间阈值范围内接收的所述另一终端已确认的RTP数据包计算链路实时带宽,并根据所述链路实时带宽调整所述编码压缩的编码码率;若所述链路延时小于预设置的拥塞阈值则根据所述链路延时调整所述编码压缩的编码码率。7.根据权利要求5所述的音视频通信方法,其特征在于,所述基于UDP协议将所述RTP数据包发送至所述服务器的步骤还包括:若所述链路延时大于预设置的拥塞阈值,将所述发送窗口缓冲区中的各RTP数据包中第三时间阈值范围外的音视频帧的数据删除。8.根据权利要求2所述的音视频通信方法,其特征在于,所述终端还包括接收窗口缓冲
区,用于保存第四时间阈值范围内所有接收的所述RTP数据包;所述基于UDP协议接收经所述服务器转发的由所述另一终端发送的RTP数据包,并解码播放所述经所述服务器转发的由所述另一终端发送的RTP数据包的音视频的步骤包括:所述接收窗口缓冲区根据已接收的所述RTP数据包推断即将接收的RTP数据包的预期序号,若最新接收的所述RTP数据包的序号大于所述预期序号则判断存在丢包并获取丢包数量和所述丢包的各RTP数据包的序号,若在检测到所述各RTP数据包的丢包时刻的一个...

【专利技术属性】
技术研发人员:郭小琴张敬宇
申请(专利权)人:京东方科技集团股份有限公司
类型:发明
国别省市:

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

1