一对一实时通信架构

135 阅读1分钟

三个重要的组件:

  • signal server : 信令服务器, 用于必要信息的交换, 比如SDP信息进行媒体协商

  • STUN/TURN : 数据中转, 如果别再同一个局域网内 就会直连, 如果是在外网,就会用到STUN/TURN服务

  • peer connection client : peerconnection对象

peer connection client商用必须要有的功能 : 设备检测、音视频采集、本地录制/云端录制

signal模块: 与服务端进行信令交互, 这样才能把sdp信息通过服务器转到另一端

创建连接 : 

  • 也就是创建peerconnection,pc内部具有生成offer sdp的功能, 通过signal(TCP为了保证传输的可靠性)模块和信令服务器传给对端

  • 创建udp类型的socket连接,发送媒体数据

  • 如果是外网 还要连接stun服务, 来获取本机的外网地址, 再通过信令转发到对端, 对方拿到我的外网地址才能通过nat穿越与我进行直连

  • 如果穿越失败, 再通过TURN进行中转