最近还是计划把之前的一些笔记都慢慢移到blog中来。
WebBRTC(Web Real-Time Communication),是一个支持网页浏览器进行实时语音对话或者视对话的API。
WebRTC的整体架构
Transport/Session:
Session组件式基于libjingle:使用的是RTP协议栈(Real Time Protocol);P2P(ICE+STUN+TURN:)用来实现点对点传输。
Session Management,用来管理和监理用户回话,这个层Google并没有在WebRTC中给出实现,而是把决策权交给了WebRTC的开发者。
代码架构
代码仓地址:git clone https://webrtc.googlesource.com/src
之前的libjingle已经整合到了WebRTC项目中,主要有rtc_base+pc+p2p组成
api,浏览器开发者调用的api
sdk,各个平台的sdk代码(android,ios等),用于食品采集、渲染等
rtc_base,一些基础组件的分装代码(socket、线程、时间、buffer、crc校验等)
p2p,P2P穿透相关,turn/stun等,服务器和客户端。
pc:PeerConnection相关
system-wrappers:系统调用的封装