webRTC概述
WebRTC--- Web browsers with Real-Time Communications (RTC
WebRTC
是一個開源項目,可以在Web
和本機應用程序中實現音頻,視頻和數據的實時通信。
在Firefox
,Opera
和Chrome
桌面和Android
上。WebRTC
也可用於iOS
和Android
上的本機應用程序。
有了WebRTC
,不需要任何插件或第三方軟件來處理典型問題,例如數據丟失、連接中斷和NAT遍歷。
webRTC 適用領域
-
實時營銷
-
實時廣告
-
後臺通信(
CRM
、ERP
、SCM
、FFM
) -
HR管理
-
社交網絡
-
約會服務
-
在線醫療諮詢
-
金融服務監控
-
多人遊戲
-
實時廣播
-
在線教育
webRTC採用的協議
實時數據通信意味着兩個用戶設備之間的快速連接。公共連接採用視頻或音頻序列幀的形式,將其一每秒30至60次的速率傳輸給另一個用戶設備,以獲得良好的質量。因此,必須瞭解,快速發送最新的數據幀比確保每個單個幀都到達更重要。
這就是爲什麼WebRTC
應用程序可能會錯過某些幀,以便保持良好的連接速度。
這也就是WebRTC
應用程序使用UDP
(用戶數據報協議)作爲傳輸層協議的原因。
但是爲什麼建立UDP
是不可靠的傳輸層,因爲無法確定以下狀態:
- 數據的順序
- 數據的交付狀態
- 每一個數據包的狀態
音頻和視頻WebRTC
連接不是最可靠的,而是在兩個用戶設備之間傳輸最快的。在可以承受的範圍內保證數據的快速傳輸,這意味着UDP
是音頻和視頻流應用程序的最佳選擇。
webRTC體系架構
這張圖來源於webRTC入門,應該每個人最開始接觸webRTC
時都會知道架構圖,它描述了RTCPeerConnection
的作用。
圖中可以看出一共三個不同的層:
web
開發人員的API
:包括RTCPeerConnection
、RTCDataChannel
和MediaStrean
對象- 瀏覽器廠商的
API
- 供瀏覽器廠商以
hook
方式複寫的API
傳輸組件允許在不同類型的網絡中建立連接,而語音視頻引擎是負責將音頻視頻流從聲卡和攝像機傳輸到網絡的框架。對於web開發人員來說,最重要的部分是WebRTC AP
I。
下一篇將講解webRTC API
。