WebRTC音视频开发之——通话原理-概述(1)

一 概述

  • 通话原理概述
  • 媒体协商
  • 网络协商
  • 连接建立的流程

二 通话原理概述

2.1 流程

WebRTC通话最典型的应用场景就是一对一音视频通话,如微信或QQ音视频聊天。通话的过程是比较复杂的,简化的流程如下

2.2 双方建立通话的主要步骤

假定通话的双方为Peer-A和Peer-B。双方要建立起通话,主要步骤如下

步骤一 媒体协商

  • Peer-A与Peer-B通过信令服务器进行媒体协商,如双方使用的音视频编码格式
  • 双方交换的媒体数据由SDP(Session Description Protocol,会话描述协议)描述

步骤二 网络协商

  • Peer-A与Peer-B通过STUN服务器获取到各自的网络信息,如IP和端口
  • 然后通过信令服务器转发,相互交换各种网络信息。
  • 这样双方就知道对方的IP和端口了,即P2P打洞成功建立直联
  • 这个过程涉及NAT及ICE协议

步骤三 建立连接

Peer-A与Peer-B如果没有建立起直连,则通过TURN中转服务器转发音视频数据,最终完成音视频通话