原文地址:https://webrtc.org/native-code/native-apis/
WebRTC Native APIs
WebRTC 本地APIs 是基於WebRTC 1.0: Real-time Communication Between Browsers實現的。
WebRTC 本地APIs(包含stream和PeerConnection APIs)實現的代碼可從此處獲取。同時提供一個客戶端應用程序。
本文檔的目標讀者是那些想要使用WebRTC Native APIs 來實現WebRTC JavaScript APIs 或者開發本地RTC應用程序。
框圖
呼叫順序
Set up a call
Receive a Call
Close Down a Call
線程模型
WebRTC Native APIs 使用兩個全局線程: 信令線程和工作者線程。根據PeerConnection factory的創建方式,應用程序可以提供這兩個線程,也可以只在內部創建。
對Stream API和PeerConnection API的調用將被代理到信令線程,這意味着應用程序可以從任何線程調用這些API。
所有回調都將在信令線程上創建。 應用程序應儘快在調用回調後返回,以避免阻塞信令線程。 資源密集型的進程應該發佈到另一個的線程。
工作者線程用於處理更多資源密集型的進程,比如數據流。
- Stream APIs(mediastream.h)
- PeerConnection APIs(peerconnection.h)
參考
當前WebRTC的HTML5規範:
http://w3c.github.io/webrtc-pc/
WebRTC Native APIs 源碼:
https://chromium.googlesource.com/external/webrtc/+/master/webrtc/api
可以在以下找到服務端和客戶端的示例程序:
https://chromium.googlesource.com/external/webrtc/+/master/webrtc/examples