一种多人视频端会议数据处理系统及方法与流程

未命名 08-15 阅读:140 评论:0


1.本发明涉及网络通信技术领域,具体涉及一种多人视频端会议数据处理系统及方法。


背景技术:

2.视频会议系统,是指两个或多个参与者通过传输线路及多媒体设备,将声音、影像、文件资料互相传送,实现即时沟通,以达到会议效果的系统设备。在视频会议系统中,数据的通信和管理是其核心组成部分。
3.现行的视频通信软件多为需要安装在设备上的基于c/s构架的独立应用程序,不同客户端的安装升级工作对于用户来讲十分繁琐麻烦,而直接基于web浏览器的即时通信视频系统大多需要安装插件,不能体现web应用的优点。


技术实现要素:

4.本发明旨在针对现有技术的技术缺陷,提供一种多人视频端会议数据处理系统及方法,以解决目前,作为独立应用程序的视频通信软件,其安装升级工作对用户而言较为繁琐的技术问题。
5.本发明要解决的另一技术问题是,直接基于web浏览器的即时通信视频系统大多需要安装插件,不能体现web应用的优点。
6.为实现以上技术目的,本发明采用以下技术方案:
7.一种多人视频端会议数据处理系统,包括视频数据处理器、会议网关单元、数据监控单元、音频视频合流单元和应答对象创建单元;
8.视频数据处理器,对会议系统的数据进行处理,并针对数据进行删除或是保存的命令发布;
9.会议网关单元,对会议系统中不同协议进行网络互连;
10.数据监控单元,针对视频数据的传输,并对解码后的数据进行监控;
11.音频视频合流单元,将解码后相同码流的视频和音频进行合并,视频与音频统一化,通过文件计算公式来确定音视频传输过程中的大小,文件计算公式如下:
12.w=(q1/8+q2/8)
·
m,其中q1为音频码率,q2为视频码率,m为视频长度;
13.通过丢包计算公式来判断网络的拥塞程度,且丢包计算公式如下:
14.其中az(hx)是hx时刻的带宽估计值,通过指定时间接收延迟和发送间隔可以计算出延迟梯度,进而计算带宽估计值,通过带宽数值反馈来获取接收端的丢包率;
15.应答对象创建单元,接收音频视频合流单元中视频和音频的相关参数,并将其相
关参数进行收集保存。
16.优选的,还包括连接对象创建单元、数据输送单元、视频解码单元、音频解码单元、signal服务器和数据储存单元;
17.连接对象创建单元,采集从会议网关单元中输入的不同码流下的视频与音频,对其数据进行集中压缩;
18.数据输送单元,将连接对象创建单元中采集到的数据进行接收,并将其数据进行向下传输;
19.视频解码单元,对压缩后的视频进行解码;
20.音频解码单元,对压缩后的音频进行解码;
21.signal服务器,在应答对象创建单元和连接对象创建单元之间进行音视频数据相通;
22.数据储存单元,对音视频数据信息进行保存。
23.优选的,所述视频数据处理器的输出端均与数据储存单元、会议网关单元、数据监控单元、音频视频合流单元、应答对象创建单元、连接对象创建单元、数据输送单元、视频解码单元和音频解码单元的输入端相连接,所述会议网关单元的输出端与连接对象创建单元的输入端相连接,所述连接对象创建单元的输出端与数据输送单元的输入端相连接,所述数据输送单元的输出端均与视频解码单元和音频解码单元的输入端相连接,所述视频解码单元、音频解码单元和应答对象创建单元的输出端均与signal服务器的输入端相连接,所述signal服务器的输出端均与数据监控单元和连接对象创建单元的输入端相连接,所述数据监控单元的输出端与音频视频合流单元的输入端相连接,所述音频视频合流单元的输出端与应答对象创建单元的输入端相连接。
24.一种多人视频端会议数据处理方法,包括以下步骤:
25.s1、客户a首先创建peerconnection对象;
26.s2、客户a调用peerconnection的createoffer方法创建一个用于offer的业务发布平台对象;
27.s3、客户b接收客户a发送的offer业务发布平台对象;
28.s4、客户a接收客户b发送的应答业务发布平台对象。
29.优选的,步骤s1包括:客户a首先创建出peerconnection对象,然后打开本地音频设备,将音视频数据封装成mediastream添加到peerconnection中。
30.优选的,步骤s2包括:客户a通过调用peerconnection的createoffer方法创建出一个用于offer的业务发布平台对象,且业务发布平台对象中保存有当前音视频的相关参数,客户a通过peerconnection的setlocaldescription方法将该业务发布平台对象保存起来,并通过signal服务器将业务发布平台对象发送给客户b。
31.优选的,步骤s2中业务发布平台信息在offer/answer流程中,客户a和客户b已经根据业务发布平台信息创建好相应的音频channel和视频channel并开启candidate数据的收集,candidate数据可理解为client端的ip地址信息,所述ip地址信息包括本地ip地址、公网ip地址和relay服务端分配的地址。
32.优选的,客户a收集到candidate信息后,peerconnection会通过onicecandidate接口给客户a发送通知,客户a将收到的candidate信息通过signal服务器发送给客户b,客
户b通过peerconnection的addicecandidate方法进行保存,其上操作适用于客户b到客户a的信息传输,与此同时客户a和客户b建立出音视频传输的p2p通道,客户b接收到客户a传送过来的音视频流,会通过peerconnection的onaddstream回调接口返回一个标识客户a端音视频流的mediastream对象,之后通过客户b端进行渲染,其上操作也适应客户b到客户a的音视频流传输。
33.优选的,步骤s3包括:客户b接收到客户a发送的offer业务发布平台对象,通过peerconnection的setremotedescription方法将其保存起来,并调用peerconnection的createanswer方法创建一个应答的业务发布平台对象,通过peerconnection的setlocaldescription的方法保存该应答业务发布平台对象并将它通过signal服务器发送给客户a。
34.优选的,步骤s4包括:客户a接收到客户b发送过来的应答业务发布平台对象,并将其通过peerconnection的setremotedescription方法保存起来。
35.本发明提供了一种多人视频端会议数据处理系统及方法,与现有技术相比具备以下有益效果:
36.1、该多人视频端会议数据处理系统及方法,通过使用webrtc协议直接通过浏览器的web页面实现音视频对聊功能,由于webrtc项目是开源的,我们可以借助webrtc源码快速构建自己的音视频对聊功能,体现强大的打洞能力。
37.2、该多人视频端会议数据处理系统及方法,通过本方法可以在不安装插件的情况下实现网页端的即时通信和多人视频会议功能,有效减少人们在安装升级软件或插件时花费的精力,其良好的跨平台性以及兼容性也为人们的工作交流提供便利。
附图说明
38.图1为本发明的多人视频端会议数据处理系统框图。
39.图2为本发明的提供的webrtc实现视讯流程框图。
40.图3为本发明的多人视频端会议数据处理方法流程框图。
具体实施方式
41.以下将对本发明的具体实施方式进行详细描述。为了避免过多不必要的细节,在以下实施例中对属于公知的结构或功能将不进行详细描述。以下实施例中所使用的近似性语言可用于定量表述,表明在不改变基本功能的情况下可允许数量有一定的变动。除有定义外,以下实施例中所用的技术和科学术语具有与本发明所属领域技术人员普遍理解的相同含义。
42.实施例1
43.请参阅图1,一种多人视频端会议数据处理系统,包括视频数据处理器、会议网关单元、数据监控单元、音频视频合流单元和应答对象创建单元;
44.视频数据处理器,其用于对会议系统的数据进行处理,并针对数据进行删除或是保存的命令发布;
45.会议网关单元,其用于会议系统中不同协议的网络互连;
46.数据监控单元,其用于针对视频数据的传输,并对解码后的数据进行监控;
47.音频视频合流单元,将解码后相同码流的视频和音频进行合并,视频与音频统一化,通过文件计算公式来确定音视频传输过程中的大小,文件计算公式如下:
48.w=(q1/8+q2/8)
·
m,其中q1为音频码率,q2为视频码率,m为视频长度;
49.通过丢包计算公式来判断网络的拥塞程度,且丢包计算公式如下:
50.其中az(hx)是hx时刻的带宽估计值,通过指定时间接收延迟和发送间隔可以计算出延迟梯度,进而计算带宽估计值,通过带宽数值反馈来获取接收端的丢包率;
51.应答对象创建单元,其用于实现接收音频视频合流单元中视频和音频的相关参数,并将其相关参数进行收集保存。
52.此实施例中,还包括连接对象创建单元、数据输送单元、视频解码单元、音频解码单元、signal服务器和数据储存单元;
53.连接对象创建单元,其用于采集从会议网关单元中输入的不同码流下的视频与音频,使其数据进行集中压缩;
54.数据输送单元,将连接对象创建单元中采集到的数据进行接收,并将其数据进行向下传输;
55.视频解码单元,对压缩后的视频进行解码;
56.音频解码单元,对压缩后的音频进行解码;
57.signal服务器,用于实现应答对象创建单元和连接对象创建单元之间的音视频数据相通,实现多人视频会议展开,通过此系统的视频解码单元、音频解码单元和音频视频合流单元,可以将视频和音频进行合流,使视频会议使体现出人像与声音的统一,方便多人进行交流;
58.数据储存单元,用于对音视频数据信息进行保存。
59.此实施例中,视频数据处理器的输出端均与数据储存单元、会议网关单元、数据监控单元、音频视频合流单元、应答对象创建单元、连接对象创建单元、数据输送单元、视频解码单元和音频解码单元的输入端相连接,会议网关单元的输出端与连接对象创建单元的输入端相连接,连接对象创建单元的输出端与数据输送单元的输入端相连接,数据输送单元的输出端均与视频解码单元和音频解码单元的输入端相连接,视频解码单元、音频解码单元和应答对象创建单元的输出端均与signal服务器的输入端相连接,signal服务器的输出端均与数据监控单元和连接对象创建单元的输入端相连接,数据监控单元的输出端与音频视频合流单元的输入端相连接,音频视频合流单元的输出端与应答对象创建单元的输入端相连接。
60.实施例2
61.请参阅图2-3,本实施例在实施例一的基础上提供了一种技术方案:一种多人视频端会议数据处理系统,其还包括一种多人视频端会议数据处理方法,包括以下步骤:
62.s1、客户a首先创建peerconnection对象:客户a首先创建出peerconnection对象,然后打开本地音频设备,将音视频数据封装成mediastream添加到peerconnection中;
63.s2、客户a调用peerconnection的createoffer方法创建一个用于offer的业务发布平台对象:客户a通过调用peerconnection的createoffer方法创建出一个用于offer的业务发布平台对象,且业务发布平台对象中保存有当前音视频的相关参数,客户a通过peerconnection的setlocaldescription方法将该业务发布平台对象保存起来,并通过signal服务器将业务发布平台对象发送给客户b;
64.s3、客户b接收客户a发送的offer业务发布平台对象:客户b接收到客户a发送的offer业务发布平台对象,通过peerconnection的setremotedescription方法将其保存起来,并调用peerconnection的createanswer方法创建一个应答的业务发布平台对象,通过peerconnection的setlocaldescription的方法保存该应答业务发布平台对象并将它通过signal服务器发送给客户a;
65.s4、客户a接收客户b发送的应答业务发布平台对象:客户a接收到客户b发送过来的应答业务发布平台对象,并将其通过peerconnection的setremotedescription方法保存起来,使用webrtc协议直接通过浏览器的web页面实现音视频对聊功能,由于webrtc项目是开源的,我们可以借助webrtc源码快速构建自己的音视频对聊功能,体现强大的打洞能力。
66.此实施例中,s2中业务发布平台信息在offer/answer流程中,客户a和客户b已经根据业务发布平台信息创建好相应的音频channel和视频channel并开启candidate数据的收集,candidate数据可理解为client端的ip地址信息,ip地址信息包括本地ip地址、公网ip地址和relay服务端分配的地址。
67.此实施例中,客户a收集到candidate信息后,peerconnection会通过onicecandidate接口给客户a发送通知,客户a将收到的candidate信息通过signal服务器发送给客户b,客户b通过peerconnection的addicecandidate方法进行保存,其上操作适用于客户b到客户a的信息传输,与此同时客户a和客户b建立出音视频传输的p2p通道,客户b接收到客户a传送过来的音视频流,会通过peerconnection的onaddstream回调接口返回一个标识客户a端音视频流的mediastream对象,之后通过客户b端进行渲染,其上操作也适应客户b到客户a的音视频流传输。
68.此实施例中,主要代码如下:
69.s1、建立客户a与客户b之间的连接关系:
70.*/
71.import{component,ref,vue}from'vue-property-decorator'
72.@component
73.export default class online1to1 extends vue{
74.message=”75.messages:array《{sender:string,message:string}》=[]
[0076]
//本地代理
[0077]
peer:rtcpeerconnection=new rtcpeerconnection(configuration:{
[0078]
//ice服务,用于网络穿透
[0079]
iceservers:[
[0080]
{urls:'turn:numb.yiagenie.ca',credential:123456',username:'2690363124@qq.com'}
[0081]
]
[0082]
})
[0083]
datachannel!:rtcdatachannel
[0084]
candidatearr:array《rtcicecandidate》=[]
[0085]
mediastream!:mediastream
[0086]
@ref(refkey:'localvideo)localvideo!:htmlvideoelement oref(refkey:'remotevideo')remotevideo!:htmlvideoelement
[0087]
/**
[0088]
*获取本地媒体流,并添加到本地代理
[0089]
*areturns{promise《void》}
[0090]
*/
[0091]
async createmediastream():promise《void》{
[0092]
const{localvideo,peer}=this
[0093]
this.mediastream=awaitnavigator.mediadevices.getusermedia(constraints:{
[0094]
audio:true,
[0095]
video:true
[0096]
})
[0097]
localvideo.srcobject=this.mediastream
[0098]
localvideo.onloadedmetadata=async=》{
[0099]
await localvideo.play()
[0100]
};
[0101]
s2、接收客户a与客户b之间对等的视频流:
[0102]
[0103]
[0104][0105]
s3、监听等待端的应答:
[0106]
[0107][0108]
通过本方法可以在不安装插件的情况下实现网页端的即时通信和多人视频会议功能,有效减少人们在安装升级软件或插件时花费的精力,其良好的跨平台性以及兼容性也为人们的工作交流提供便利。
[0109]
同时本说明书中未作详细描述的内容均属于本领域技术人员公知的现有技术。
[0110]
以上对本发明的实施例进行了详细说明,但所述内容仅为本发明的较佳实施例,并不用以限制本发明。凡在本发明的申请范围内所做的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种多人视频端会议数据处理系统,其特征在于,包括视频数据处理器、会议网关单元、数据监控单元、音频视频合流单元和应答对象创建单元;视频数据处理器,对会议系统的数据进行处理,并针对数据进行删除或是保存的命令发布;会议网关单元,对会议系统中不同协议进行网络互连;数据监控单元,针对视频数据的传输,并对解码后的数据进行监控;音频视频合流单元,将解码后相同码流的视频和音频进行合并,视频与音频统一化,通过文件计算公式来确定音视频传输过程中的大小;应答对象创建单元,接收音频视频合流单元中视频和音频的相关参数,并将其相关参数进行收集保存。2.根据权利要求1所述的一种多人视频端会议数据处理系统,其特征在于,还包括连接对象创建单元、数据输送单元、视频解码单元、音频解码单元、signal服务器和数据储存单元;连接对象创建单元,采集从会议网关单元中输入的不同码流下的视频与音频,对其数据进行集中压缩;数据输送单元,将连接对象创建单元中采集到的数据进行接收,并将其数据进行向下传输;视频解码单元,对压缩后的视频进行解码;音频解码单元,对压缩后的音频进行解码;signal服务器,在应答对象创建单元和连接对象创建单元之间进行音视频数据相通;数据储存单元,对音视频数据信息进行保存。3.根据权利要求2所述的一种多人视频端会议数据处理系统,其特征在于:所述视频数据处理器的输出端均与数据储存单元、会议网关单元、数据监控单元、音频视频合流单元、应答对象创建单元、连接对象创建单元、数据输送单元、视频解码单元和音频解码单元的输入端相连接,所述会议网关单元的输出端与连接对象创建单元的输入端相连接,所述连接对象创建单元的输出端与数据输送单元的输入端相连接,所述数据输送单元的输出端均与视频解码单元和音频解码单元的输入端相连接,所述视频解码单元、音频解码单元和应答对象创建单元的输出端均与signal服务器的输入端相连接,所述signal服务器的输出端均与数据监控单元和连接对象创建单元的输入端相连接,所述数据监控单元的输出端与音频视频合流单元的输入端相连接,所述音频视频合流单元的输出端与应答对象创建单元的输入端相连接。4.一种多人视频端会议数据处理方法,其特征在于,包括以下步骤:s1、客户a首先创建peerconnection对象;s2、客户a调用peerconnection的createoffer方法创建一个用于offer的业务发布平台对象;s3、客户b接收客户a发送的offer业务发布平台对象;s4、客户a接收客户b发送的应答业务发布平台对象。5.根据权利要求4所述的一种多人视频端会议数据处理方法,其特征在于,步骤s1包括:客户a首先创建出peerconnection对象,然后打开本地音频设备,将音视频数据封装成
mediastream添加到peerconnection中。6.根据权利要求4所述的一种多人视频端会议数据处理方法,其特征在于,步骤s2包括:客户a通过调用peerconnection的createoffer方法创建出一个用于offer的业务发布平台对象,且业务发布平台对象中保存有当前音视频的相关参数,客户a通过peerconnection的setlocaldescription方法将该业务发布平台对象保存起来,并通过signal服务器将业务发布平台对象发送给客户b。7.根据权利要求6所述的一种多人视频端会议数据处理方法,其特征在于,步骤s2中业务发布平台信息在offer/answer流程中,客户a和客户b已经根据业务发布平台信息创建好相应的音频channel和视频channel并开启candidate数据的收集,candidate数据可理解为client端的ip地址信息,所述ip地址信息包括本地ip地址、公网ip地址和relay服务端分配的地址。8.根据权利要求7所述的一种多人视频端会议数据处理方法,其特征在于,所述客户a收集到candidate信息后,peerconnection会通过onicecandidate接口给客户a发送通知,客户a将收到的candidate信息通过signal服务器发送给客户b,客户b通过peerconnection的addicecandidate方法进行保存,其上操作适用于客户b到客户a的信息传输,与此同时客户a和客户b建立出音视频传输的p2p通道,客户b接收到客户a传送过来的音视频流,会通过peerconnection的onaddstream回调接口返回一个标识客户a端音视频流的mediastream对象,之后通过客户b端进行渲染,其上操作也适应客户b到客户a的音视频流传输。9.根据权利要求4所述的一种多人视频端会议数据处理方法,其特征在于,步骤s3包括:客户b接收到客户a发送的offer业务发布平台对象,通过peerconnection的setremotedescription方法将其保存起来,并调用peerconnection的createanswer方法创建一个应答的业务发布平台对象,通过peerconnection的setlocaldescription的方法保存该应答业务发布平台对象并将它通过signal服务器发送给客户a。10.根据权利要求4所述的一种多人视频端会议数据处理方法,其特征在于,步骤s4包括:客户a接收到客户b发送过来的应答业务发布平台对象,并将其通过peerconnection的setremotedescription方法保存起来。

技术总结
本发明提供了一种多人视频端会议数据处理系统及方法,属于网络通信技术领域。在该系统中,视频数据处理器对会议系统的数据进行处理,并针对数据进行删除或是保存的命令发布;会议网关单元对会议系统中不同协议进行网络互连;数据监控单元针对视频数据的传输,并对解码后的数据进行监控;音频视频合流单元将解码后相同码流的视频和音频进行合并;应答对象创建单元接收音频视频合流单元中视频和音频的相关参数,并将其相关参数进行收集保存。应用本发明,可以在不安装插件的情况下实现网页端的即时通信和多人视频会议功能,有效减少人们在安装升级软件或插件时花费的精力,其良好的跨平台性以及兼容性也为人们的工作交流提供便利。供便利。供便利。


技术研发人员:李星传 朱伟 巩卫华 胡甲齐
受保护的技术使用者:日照市应急管理局 日照地质地理信息大数据研究院
技术研发日:2023.03.31
技术公布日:2023/8/14
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐