最近還是計劃把之前的一些筆記都慢慢移到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:系統調用的封裝