運行機制說明
在本節中將會對WebRTC的運行機制進行詳細說明
幾個大類
MediaStream類
媒體流類,一個流包含幾個軌道,好比視頻和音頻軌道服務器
軌和流的概念
軌(Track)
軌道,每一路音頻或視頻,都各位爲一個軌,互不相交spa
流(MediaStream)
媒體流,包含了軌,例如音頻軌、視頻軌、字母軌等3d
RTCPeerConnection類
最重要的類,包含功能衆多,應用層調用方便,底層代碼極其複雜。
功能包括p2p類型檢測、穿透、中轉等都在類的內部實現。code
RTCDataChannel
非音視頻數據傳輸類,文本、文件、二進制數據等均可以經過此類傳輸。視頻
PeerConnection
調用過程
在本圖中能夠看到在PeerConnection類中
以建立Factory -> 建立節點 -> 軌 -> 流 -> 傳輸通信 -> 回調Observer的順序調用server
和遠端創建通訊過程
- 經過Application發起,建立PeerConnectionFactory
- Factory建立鏈接、軌道、流等節點
- 將軌Track添加至流Stream
- 將流Stream(發生變化時)推送給PeerConnection節點
- PeerConnection節點建立offer SDP通知Application
- Application將offer SDP信令發送給遠端
- 遠端回覆answer SDP到Application
- Application將SDP推給PeerConnection節點
- 本地和遠端創建P2P鏈接成功
以上就是WebRTC的運行機制,下一節要作一些基礎鋪墊,說一些關於Web服務器和Nodejs等基礎知識blog