快捷搜索:  汽车  科技

webrtc直播搭建(WebRTC实战Wed一对一通话到多人会议)

webrtc直播搭建(WebRTC实战Wed一对一通话到多人会议)2.每当有新的成员加入到房间后,新成员主动给房间的每个人发 OFFER,并等待 ANSWER 建立新的 PeerConnection 连接1.每当有新的成员加入到房间后,房间内的每个人主动给新成员发 OFFER,并等待他回复 ANSWER 建立新的 PeerConnection 连接首先,我们用下面这一张图来看看两个 WebRTC Peer 之间是如何建立一对一通话链路的:在一对一通话场景中,每个 Client 均创建有一个 PeerConnection 对象,由一方主动发 OFFER SDP,另一方则应答 ANSWER SDP,最后双方交换 ICE Candidate 从而完成通话链路的建立。如果要再加入一个人,其实也是一样的流程,假设新加入的人是 C,那么,只需要 C 分别跟 A 和 B 交换 SDP 和 Candidate 即可建立新的通话链路。C 加入后,谁来主动发送 OFFER

前言;总结有福利

为了让初学者快速起步把 WebRTC demo 跑起来

本文则主要介绍如何从一对一通话升级到多人通话,即视频会议,其中涉及到如下几个问题:

多人会议,每个 Client 是创建多个 PeerConnection 还是只有一个 PeerConnection ?

多人会议,谁来发起 OFFER,谁来作为 ANSWER,如何把多个 Client 相互间的连接分别建立起来 ?

首先,我们用下面这一张图来看看两个 WebRTC Peer 之间是如何建立一对一通话链路的:

webrtc直播搭建(WebRTC实战Wed一对一通话到多人会议)(1)

在一对一通话场景中,每个 Client 均创建有一个 PeerConnection 对象,由一方主动发 OFFER SDP,另一方则应答 ANSWER SDP,最后双方交换 ICE Candidate 从而完成通话链路的建立。

如果要再加入一个人,其实也是一样的流程,假设新加入的人是 C,那么,只需要 C 分别跟 A 和 B 交换 SDP 和 Candidate 即可建立新的通话链路。C 加入后,谁来主动发送 OFFER 呢 ?常用的策略有 2 种:

1.每当有新的成员加入到房间后,房间内的每个人主动给新成员发 OFFER,并等待他回复 ANSWER 建立新的 PeerConnection 连接

2.每当有新的成员加入到房间后,新成员主动给房间的每个人发 OFFER,并等待 ANSWER 建立新的 PeerConnection 连接

当然,还有其他的策略,无非就是谁主动扮演 OFFER 发起者的角色触发整个建联过程而已。

webrtc直播搭建(WebRTC实战Wed一对一通话到多人会议)(2)

如图所示,3 人会议,则每个人都会创建 2 个 PeerConnection 分别与其他两个人建立通话连接。

WebRTC非常适合点对点(即一对一)的音视频会话。然而,当我们的客户要求超越一对一,即一对多、多对一设置多对多的解决方案或者服务,那么问题就来了:“我们应该采用什么样的架构?” 。简单的呢有人会考虑copy多个p2p就完成了多人之间的会话,可并没有考虑到到来的问题:cpu、内存、尤其是流量问题;传统的解决方案是MCU服务器,利用服务器硬件的能力去mix音视频,然后传给各个参与者,这能到达预想的,这个亦能到达我们的需求;使用基于网状拓扑结构的结构可能是前两者的折中之选。

尽管能实现WebRTC多人音视频的方案,该技术的最流行的用途不局限于多方视频会议场景。不要以为只是传统的音视频会议室,更多的情况包括:智能硬件、ipcamera、在线课堂,实时直播等。在每一种情况下,服务器的能力是能够从多个源的媒体流分发到多个客户端。所以...如果你是一个服务供应商如何才能在实现支持WebRTC的多方拓扑结构?

有几种不同的架构根据您的要求,可能是合适的。这些架构基本上他们围绕二点

Mesh解决方案 总结有福利

Mesh方法是最简单的解决方案。因为它不需要假设任何服务器,而且直接使用成熟的WebRTC传输方案。该体系结构基于从每一个发送者创建多个一对一的数据流到每一个接收端。

webrtc直播搭建(WebRTC实战Wed一对一通话到多人会议)(3)

Router解决方案 总结有福利

Router(或中继)的办法使得H.264 SVC基础设施普及,这也正是广泛应用的。该架构基于具有中心点从每个发送器接收一个流并发送出一个流到每一个参与者。这个中心点只做数据包检测和转发,而不是昂贵的编码和实际的媒体的解码。常见术语是SFU。

webrtc直播搭建(WebRTC实战Wed一对一通话到多人会议)(4)

Router提供一个便宜的可扩展的多方传输,具有较好的延迟性、与传统的mixer解决方案相比没有质量劣化。

这种方案非常适合大并发的事实会议和直播。目前较成熟的服务提供商就是声网

来一张各个解决方案的流量图? 总结有福利

webrtc直播搭建(WebRTC实战Wed一对一通话到多人会议)(5)

总结;这个就需要根据自己的项目的需要了。其实,商业解决方案,包括上述所有方案,往往需要根据客户的实际应用场景选择对于的方法。不过,也有经验,你可以使用一些通用规则。

需要资料的可以头条私信‘资料’可以无偿分享给大家一起学习,有写的不好的地大家可以指出来评论一下 一起研究研究

webrtc直播搭建(WebRTC实战Wed一对一通话到多人会议)(6)

猜您喜欢: