WebRTC技术调研

298 阅读2分钟

通信协议

  • UDP:消息发送
  • TCP:文件传输和接收
  • SCTP:webrtc通信协议

局域网文件共享

github.com/jonataslaw/…

关于STUN\TURN服务器

  • STUN服务器是用来获取外部地址的
stun:stun.l.google.com:19302
  • TURN服务器是用来在直接连接(点到点)失败的情况下进行中继数据流量的
turn:123.45.67.89:3478

WebRTC 常见的几种模

1) Mesh 网状结构

通过搭建 Turn/Stun 服务直接发起端到端的 P2P 通话。

image.png

优点:不需要搭建 MediaServer 。

缺点:对于多人通话需要每个客户端都跟其他两个端分别建立 P2P 连接,每新增一个客户端,所有的客户端都需要新增一路数据上行,导致客户端上行带宽占用太大。因此,通话人数越多,效果越差,也无法在服务端对视频进行额外处理,如:录制存储回放、实时转码、智能分析、多路合流、转推直播等。

2)MCU

服务端负责把参与者的视频做混流,多人参会每个人只有一个上行视频,同时接收一个下行视频流。

image.png

优点:客户端压力较小,带宽消耗小,服务端可以控制下发的视频数据,从而可以发起更多参与者的视频会议。

缺点:服务器资源消耗较大,对服务器的性能要求高,服务器成本高昂。

3)SFU

SFU 的全称是:Selective Forwarding Unit,是一种通过服务器来路由和转发 WebRTC 客户端音视频数据流的方法。 SFU 服务器最核心的特点是把自己“伪装”成一个 WebRTC 的客户端,将一个 Client 端的数据转发到其他多个 Client 端。

image.png

优点:对服务器性能要求不高。

缺点:对服务器和客户端带宽要求高。

相关文章

juejin.cn/post/697057…

segmentfault.com/a/119000001…