WebRTC → 多人通讯架构浅析

1、一对一通信模型


一对一通信中,WebRTC会先尝试两个终端之间是否可以通过P2P直接进行通信,无法通信时会通过STUN/TURN服务器进行中转;其中STUN/TURN服务器的作用在不能直连时是中继服务器,通过该服务器进行端到端之间的数据中转;当可以直连时STUN/TURN的作用就只是用于各端收集reflx类型的Candidate; 原则是尽可能让双端进行直连,这样既可以节省服务器的资源,又可以提高音视频服务器的质量;
  • 1v1通信连接过程图解

即是端A与端B之间的Offer信息的本地存储与远端发送,从而打通双端的基本信息交换

2、通信架构分析


2.1P2P

端与端之间直接通信,适合两人通信场景,可以理解成Mesh,Mesh是标准P2P通信模式的混用

2.2Mesh方案/架构

多个终端之间共享媒体数据时需要同时向其他端发送对应的数据;

TURN Server是指支持TURN协议的服务器,扮演者一种网络中继的角色,支持将一个client的数据包透明的转发到多个其他的Client客户端

2.3图解Mesh架构图

  • 终端浏览器之间两两相连,还分别与STUN/TURN服务器进行连接,此时STUN/TURN服务器不会进行数据中转;

  • 单方面进行音视频数据共享时,需要将共享的数据分别发送给其他端,从而实现多人通信

  • 优势

  • 不需要服务器中转数据,STUN/TURN只负责NAT穿越,不需要再单独开发一套美体服务器,利用现有的WebRTC通信模型就可以实现

  • 充分利用了客户端的宽带资源

  • 节省服务器资源,不需要其他的数据处理和中转

  • 劣势

  • 当有过多的终端进行音视频流共享的时候,需

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值