兼容GB/T28181设备的WebRTC视频会议系统及媒体流转换方法技术方案

技术编号:35749206 阅读:18 留言:0更新日期:2022-11-26 18:54
本发明专利技术涉及计算机多媒体通信领域,尤其是一种兼容GB/T28181设备的WebRTC视频会议系统及媒体流转换方法,所述系统采用分层的架构体系,包括业务层、STUN/TURN服务器、信令层和媒体层;业务层:用于为WebRTC客户端提供业务接口,存储业务数据;STUN/TURN服务器:用于实现NAT穿越;信令层包含WebRTC信令模块、信令协议转换模块和GB/T28181信令模块;媒体层包含WebRTC媒体模块、媒体转码模块、拥塞控制模块和GB/T 28181媒体模块;本方案提出了减少因为网络延迟的小幅波动造成的发送速率的频繁抖动的IGCC

【技术实现步骤摘要】
兼容GB/T28181设备的WebRTC视频会议系统及媒体流转换方法


[0001]本专利技术涉及计算机多媒体通信领域,尤其涉及一种优化拥塞控制与流转码方法的兼容GB/T28181设备的WebRTC视频会议系统及媒体流转换方法。

技术介绍

[0002]视频会议系统是网络、通信和多媒体等多种技术综合的应用,在对实时信息需求日益强烈的现在,视频会议系统以其直观、真实、跨地域、低成本的交流特点,受到了人们越来越多的重视,被广泛用于各种组织活动的各个领域,如远程教育、远程谈判、远程医疗、远程诊断等。
[0003]特别是随着新型智慧城市基础设施的不断建设和发展,在城市管理的指挥调度应用中,需要指挥大厅指挥调度人员、现场操作人员、业务和技术专家通过多端视频会议开展协同工作,为指挥调度人员、现场操作人员、业务和技术专家在任何时间和任何区域提供直观、真实、跨地域的实时信息交流。但是传统的视频会议系统,由于成本过高,开发时间长,不利于推广,因此开发时间短,成本低的WebRTC(网页实时通信)常作为视频会议的首选。
[0004]WebRTC原有的GCC算法,兼顾基于延迟和基于丢包两种拥塞控制策略。网络发生拥塞时,在2至3秒内能估计出码率来适应网络状态,会有短时间的卡顿。对于网络发生间歇性丢包,在2秒左右能将传输码率适配到当前网络状态;在弱网环境下,容易将码率降到很低而造成图像失真;因此基于延迟的带宽估计模块在网络抖动场景下存在误认为网络过度使用而导致码率误降低的问题。并且原GCC算法从基于丢包率的候选发送速率和基于网络延迟变化的候选发送速率中选择较小的一个作为下一阶段的目标发送速率,所以强网环境下GCC对网络延迟的变化过于敏感。

技术实现思路

[0005]针对上述问题,本专利技术提兼容GB/T28181设备的WebRTC视频会议系统及媒体流转换方法。实现了GB28181设备的PS流转码成WebRTC的流,使GB28181的设备也可以接入会议系统。又为了优化GCC算法在网络抖动场景下的表现,提升音视频体验效果,本专利技术提出了IGCC

A算法,IGCC

A算法基于WebRTC当前最新的版本中的GCC算法进行改进。该算法为了避免突发delay导致带宽下降,在检测拥塞变化后,加性增乘性减的速率控制器中不会立刻进行降低带宽,而是会观察6次来回时间,如果仍然出现过度使用状态,才去降低带宽,连续降低3次,直到降低到成功接收速率0.85倍。同时该算法在GCC获得两个候选发送速率后和决定目标发送速率前,添加一个强网的限制条件,降低GCC在强网下对网络延迟的敏感程度,减少因为网络延迟的小幅波动造成的发送速率的频繁抖动。
[0006]本专利技术提供如下技术方案:一种兼容GB/T28181设备的WebRTC视频会议系统,所述系统采用分层的架构体系,包括业务层、STUN/TURN服务器、信令层和媒体层;
[0007]业务层:用于为WebRTC客户端提供业务接口,存储业务数据;
[0008]STUN/TURN服务器:用于实现NAT穿越;
[0009]信令层包含WebRTC信令模块、信令协议转换模块和GB/T28181信令模块;其中,WebRTC信令模块实现视频会议系统与客户端之间的信令交互;信令协议转换模块实现WebRTC信令与GB/T28181信令之间的转换;GB/T28181信令模块实现与GB/T28181终端采集设备之间的会话建立;
[0010]媒体层包含WebRTC媒体模块、媒体转码模块、拥塞控制模块和GB/T28181媒体模块;其中,WebRTC媒体模块实现视频监控设备与WebRTC客户端之间的媒体传输;媒体转码模块实现WebRTC媒体流与GB/T28181媒体流之间的转换;GB/T28181媒体模块实现与终端采集设备的媒体传输;在转码模块到WebRTC媒体模块之间的拥塞控制模块,用于减少在网络中流媒体包的丢包率,降低网络延时。
[0011]媒体层接口的实现包括本地媒体流获得getMedia、建立实时通信连接RTCPeerConnection、实时通信数据通道RTCDataChannel、创建GB/T28181RTP包接收端口openRtpServer;
[0012]本地媒体流获得getMedia用于获取从本地摄像头和麦克风采集的媒体流;这个接口在不同的浏览器中名字不相同,在Chrome中是webkitGetUserMedia,在Firefox中是mozGetUserMedia。因此在使用时应做好浏览器兼容的工作getMedia接口使用格式是getUserMedia,包括constraints,successCallback,errorCallback,其中constraints表示对音频和视频是否支持的设置,格式是一个JSON串;successCallback是一个函数,表示若获取成功将执行的函数;errorCallback是一个函数,表示若获取失败将执行的函数。
[0013]调用getMedia得到媒体流之后,需要将其绑定到video标签上,并将其autoplay属性设置为ture,否则屏幕上只能展示一张图片。同时根据window.URL.createObjectURL函数将通过getMedia获得的本地媒体流数据转换成一个URL,并把它作为video标签的视频源。
[0014]建立实时通信连接RTCPeerConnction接口用来在两个节点间建立一条传输数据流的连接;RTCPeerConnection可以作为浏览器事件目标接口的参数。而事件Event是HTML默认类,目标target会返回触发事件的元素本身。
[0015]实时通信数据通道RTCDataChannel在两个用户之间可靠高效地传输任意格式数据,还实现了获取网络线程负载的接口getThreadsLoad,GB/T28181流的RTP包接收端口openRtpServer,关闭GB/T28181流的RTP包接收端口closeRtpServer,获取RTP推流端信息接口getRtpInfo,RTP包处理接口ProcessInterface;
[0016]创建GB/T28181RTP包接收端口openRtpServer,该端口接收数据超时,则会自动被回收,关闭GB/T28181RTP接收端口closeRtpServer、获取RTP推流端信息接口getRtpInfo、RTP包处理接口ProcessInterface接口。
[0017]一种基于上述会议系统的媒体流转换方法,所述媒体流转换用于实现GB/T28181媒体流转WebRTC流,具体步骤如下:
[0018]步骤1:收流端口接收荷载PS流的RTP数据包,GB28181媒体流是RTP数据包荷载的PS流,先查找第一个荷载着PS包头的RTP包,然后将荷载着PS包的RTP包放到PS包缓存中;
[0019]步骤2:检查RTP包的Sequence是否连续,如果连续,则进入步骤3,如果不连续则PS缓存清空,同时清空主H.2本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种兼容GB/T28181设备的WebRTC视频会议系统,其特征在于:所述系统采用分层的架构体系,包括业务层、STUN/TURN服务器、信令层和媒体层;业务层:用于为WebRTC客户端提供业务接口,存储业务数据;STUN/TURN服务器:用于实现NAT穿越;信令层包含WebRTC信令模块、信令协议转换模块和GB/T28181信令模块;其中,WebRTC信令模块实现视频会议系统与客户端之间的信令交互;信令协议转换模块实现WebRTC信令与GB/T28181信令之间的转换;GB/T28181信令模块实现与GB/T28181终端采集设备之间的会话建立;媒体层包含WebRTC媒体模块、媒体转码模块、拥塞控制模块和GB/T 28181媒体模块;其中,WebRTC媒体模块实现视频监控设备与WebRTC客户端之间的媒体传输;媒体转码模块实现WebRTC媒体流与GB/T28181媒体流之间的转换;GB/T28181媒体模块实现与终端采集设备的媒体传输;在转码模块到WebRTC媒体模块之间的拥塞控制模块,用于减少在网络中流媒体包的丢包率,降低网络延时。2.根据权利要求1所述的兼容GB/T28181设备的WebRTC视频会议系统,其特征在于,媒体层接口的实现包括本地媒体流获得getMedia、建立实时通信连接RTCPeerConnection、实时通信数据通道RTCDataChannel、创建GB/T28181 RTP包接收端口openRtpServer。3.根据权利要求2所述的兼容GB/T28181设备的WebRTC视频会议系统,其特征在于,本地媒体流获得getMedia用于获取从本地摄像头和麦克风采集的媒体流;建立实时通信连接RTCPeerConnction接口用来在两个节点间建立一条传输数据流的连接;实时通信数据通道RTCDataChannel在两个用户之间可靠高效地传输任意格式数据,还实现了获取网络线程负载的接口getThreadsLoad,GB/T28181流的RTP包接收端口openRtpServer,关闭GB/T28181流的RTP包接收端口closeRtpServer,获取RTP推流端信息接口getRtpInfo,RTP包处理接口ProcessInterface;创建GB/T28181 RTP包接收端口openRtpServer,该端口接收数据超时,则会自动被回收,关闭GB/T28181 RTP接收端口closeRtpServer、获取RTP推流端信息接口getRtpInfo、RTP包处理接口ProcessInterface接口。4.根据权利要求3所述的兼容GB/T28181设备的WebRTC视频会议系统,其特征在于,getMedia接口使用格式是getUserMedia,包括constraints,successCallback,errorCallback,其中constraints表示对音频和视频是否支持的设置,格式是一个JSON串;successCallback是一个函数,表示若获取成功将执行的函数;errorCallback是一个函数,表示若获取失败将执行的函数。5.一种基于权利要求1或2或3或4所述会议系统的媒体流转换方法,其特征在于:所述媒体流转换用于实现GB/T28181媒体流转WebRTC流,具体步骤如下:步骤1:收流端口接收荷载PS流的RTP数据包,先查找第一个荷载着PS包头的...

【专利技术属性】
技术研发人员:姜树明刘能武杨国立刘骏魏志强李凤娇张莹莹
申请(专利权)人:齐鲁工业大学
类型:发明
国别省市:

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

1