一、WebRTC整体架构

(1)、紫色部分是web应用开发者API层
(2)、蓝色实线部分是面向浏览器厂商的API层
(3)、蓝色虚线部分浏览器厂商可以自定义实现
其中最重要的是PeerConnection,只关注这个对象就可开发音视频应用。
二、WebRTC通话原理
1.媒体协商
彼此要了解对方支持的媒体格式

Peer-A支持VP8+H264的编解码器,Peer-B支持VP9+H264的编解码器。
要保证二端都正确的编解码,要用他们的交集H264,要怎么知道使用H264呢?需要通过媒体协商机制相互告诉对方支持哪些编解码器,使用共同的编解码器。
专门的协议SDP(Session Description Protocol),可描述这类信息。
在Webrtc中,参与视频通讯的双方必须先交换SDP信息,这样双方才能知道彼此信息,而交换SDP的过程,即为“媒体协商”。
2.网络协商
彼此要了解对方的网络情况,才能找到一条相互通讯的链路。&#x