System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于实时视频流通信方法,涉及一种基于webrtc的p2p和sfu混合传输架构。
技术介绍
1、webrtc是一种用于在web浏览器之间进行实时音视频和数据传输的开放标准,它使用了一系列的协议和技术,如实时传输协议(rtp)、会话描述协议(sdp)和候选者协议(ice)等。
2、现有的实时视频流通信方案中,webrtc在构建浏览器视频通信时,提出的网络架构方案可分为mesh(p2p)服务器架构,multi-point control unit(mcu)服务器架构和selective forwarding unit(sfu)服务器架构。
3、mesh服务器架构其实就是标准p2p通讯模式的混用,每一个p2p连接有独立的传输策略控制,在mesh架构中,每个参与者都可以同时与其他所有参与者进行直接通信,实现实时视频流的传输。但在采用mesh服务器架构进行p2p通讯时,由于需要分配更多的端口和消耗更多的系统资源,因此在网络状况较差或人数较多的情况下,可能会出现传输延迟和带宽消耗较大的问题。
4、mcu传输方案中,参与者通过与mcu建立连接来实现实时视频流的传输。mcu充当中间节点,负责接收来自发送方的数据流,并根据需要选择性地转发给接收方。mcu可以进行混音、混频和转码等处理,以适应不同的网络环境和设备能力。在采用mcu传输方案时,虽然可以提供更好的可扩展性和灵活性,但存在单点故障和传输延迟的问题,同时需要耗费较多的处理资源和带宽。
5、sfu传输方案是一种折中的方案,结合了p2p和
技术实现思路
1、本专利技术的目的是提供一种基于webrtc的p2p和sfu混合传输架构,将p2p和sfu进行结合,根据参与者数量选择通讯模式,能节省流量并避免带宽浪费。
2、本专利技术所采用的技术方案是,基于webrtc的p2p和sfu混合传输架构,客户端各个设备在建立连接前,各个设备间通过websocket建立与信令服务器的连接,信令服务器接收各个设备间的信令之后,检查信令中的参与者的数量,若参与者数量只有两人,则采用p2p通信模式,并进行p2p通讯;若检查到的参与者数量大于2,即就是多对多通信,则采用sfu通信模式,并进行sfu通信。
3、本专利技术的特征还在于,
4、各个设备间通过websocket建立与信令服务器的连接用于设备与信令服务器之间双向传输信令消息。
5、在p2p通信模式中,客户端设备通过stun服务器来发现公共ip地址和端口,从而直接建立通信通道,实现直接的设备间音视频通信。
6、采用p2p通信模式进行p2p通讯具体按照如下步骤实施:
7、步骤1.1,客户端设备首先向stun服务器发送请求,以获取其在internet上可见的公共ip地址和端口号;
8、步骤1.2,stun服务器收到客户端设备的请求后,会向客户端设备返回响应,响应包括该客户端设备在internet上的公共ip地址和端口号;
9、步骤1.3,客户端设备收到来自stun服务器的响应后,将获得的公共ip地址和端口号作为ice候选地址;
10、步骤1.4,客户端各个设备之间通过信令服务器交换各自的ice候选地址,并根据各自的候选地址选择合适的通信路径;
11、步骤1.5,根据选择的通信路径客户端各个设备之间直接通过公共ip地址和端口建立通信通道,实现直接的p2p音视频传输。
12、在sfu通信模式中,通过sfu节点来提供中继功能,在sfu节点上进行音视频流量的转发,当设备中的发送方与sfu节点建立连接后,数据流会首先传输到sfu节点,然后sfu节点会根据网络条件和设备中接收方的设备能力,选择性地将数据流转发给合适的接收方。
13、采用sfu通信模式进行sfu通信具体按照如下步骤实施:
14、步骤2.1,客户端各个设备作为参与者均通过信令服务器加入通信会话,并通知其他参与者自己的存在;
15、步骤2.2,每个参与者根据步骤1.1-1.3的方式获取自己的ice候选地址;
16、步骤2.3,每个参与者通过信令服务器将自己的ice候选地址发送给其他参与者,并向sfu节点发送自己的候选地址信息;
17、步骤2.4,sfu节点收到各参与者的候选地址后,根据各参与者信令中携带的网络状况和负载情况选择合适的路由,确定如何进行音视频流量的转发;
18、步骤2.5,sfu节点为每个参与者建立相应的转发通道,将每个参与者发送的音视频数据转发给其他参与者,转发给其他参与者时sfu节点根据每个参与者的网络状况和带宽情况动态调整转发的音视频数据,从而实现多人通信的需求。
19、步骤2.5中sfu节点根据每个参与者的网络状况和带宽情况动态调整转发的音视频数据具体为:
20、sfu节点对客户端作为接收的设备进行判断,若判定该参与者带宽不足,则减少视频传输的分辨率,若判定该参与者网络延迟高则减少视频传输的分辨率和帧率。
21、客户端带宽不足具体根据分辨率和编码方式确定,根据分辨率和编码方式确定出最小的宽带,若客户端带宽低于该最小的宽带,则认为客户端带宽不足。
22、网络延时具体判断标准为:延时超过500毫秒则认为网络延迟高。
23、本专利技术的有益效果是:
24、本专利技术在建立连接前,设备间先传输信令信息,再根据信令中的参与者数量,确定是点对点通信还是多对多通信,以实现高质量的视频传输,节省流量并避免带宽浪费和传输延迟。
25、本专利技术在进行多对多通信时,sfu节点根据每个参与者的网络状况和带宽情况动态调整转发的音视频数据,能最大程度地利用可用的带宽资源,并保障通信质量,并避免带宽浪费和传输延迟。
本文档来自技高网...【技术保护点】
1.基于WebRTC的P2P和SFU混合传输架构,其特征在于,客户端各个设备在建立连接前,各个设备间通过WebSocket建立与信令服务器的连接,信令服务器接收各个设备间的信令之后,检查信令中的参与者的数量,若参与者数量只有两人,则采用P2P通信模式,并进行P2P通讯;若检查到的参与者数量大于2,即就是多对多通信,则采用SFU通信模式,并进行SFU通信。
2.根据权利要求1所述的基于WebRTC的P2P和SFU混合传输架构,其特征在于,所述各个设备间通过WebSocket建立与信令服务器的连接用于设备与信令服务器之间双向传输信令消息。
3.根据权利要求1所述的基于WebRTC的P2P和SFU混合传输架构,其特征在于,在所述P2P通信模式中,客户端设备通过STUN服务器来发现公共IP地址和端口,从而直接建立通信通道,实现直接的设备间音视频通信。
4.根据权利要求3所述的基于WebRTC的P2P和SFU混合传输架构,其特征在于,采用所述P2P通信模式进行P2P通讯具体按照如下步骤实施:
5.根据权利要求4所述的基于WebRTC的P2P和
6.根据权利要求5所述的基于WebRTC的P2P和SFU混合传输架构,其特征在于,采用所述SFU通信模式进行SFU通信具体按照如下步骤实施:
7.根据权利要求6所述的基于WebRTC的P2P和SFU混合传输架构,其特征在于,所述步骤2.5中SFU节点根据每个参与者的网络状况和带宽情况动态调整转发的音视频数据具体为:
8.根据权利要求7所述的基于WebRTC的P2P和SFU混合传输架构,其特征在于,客户端带宽不足具体根据分辨率和编码方式确定,根据分辨率和编码方式确定出最小的宽带,若客户端带宽低于该最小的宽带,则认为客户端带宽不足。
9.根据权利要求8所述的基于WebRTC的P2P和SFU混合传输架构,其特征在于,网络延时具体判断标准为:延时超过500毫秒则认为网络延迟高。
...【技术特征摘要】
1.基于webrtc的p2p和sfu混合传输架构,其特征在于,客户端各个设备在建立连接前,各个设备间通过websocket建立与信令服务器的连接,信令服务器接收各个设备间的信令之后,检查信令中的参与者的数量,若参与者数量只有两人,则采用p2p通信模式,并进行p2p通讯;若检查到的参与者数量大于2,即就是多对多通信,则采用sfu通信模式,并进行sfu通信。
2.根据权利要求1所述的基于webrtc的p2p和sfu混合传输架构,其特征在于,所述各个设备间通过websocket建立与信令服务器的连接用于设备与信令服务器之间双向传输信令消息。
3.根据权利要求1所述的基于webrtc的p2p和sfu混合传输架构,其特征在于,在所述p2p通信模式中,客户端设备通过stun服务器来发现公共ip地址和端口,从而直接建立通信通道,实现直接的设备间音视频通信。
4.根据权利要求3所述的基于webrtc的p2p和sfu混合传输架构,其特征在于,采用所述p2p通信模式进行p2p通讯具体按照如下步骤实施:
5.根据权利要求4所述的基于webrtc的p2p和sfu混...
【专利技术属性】
技术研发人员:牛冠冲,涂令城,曹琦,施永鑫,李静磊,
申请(专利权)人:西安电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。