webRTC脫坑筆記(一)— 初識webRTC

webRTC概述

WebRTC--- Web browsers with Real-Time Communications (RTC

WebRTC是一個開源項目,可以在Web和本機應用程序中實現音頻,視頻和數據的實時通信。

FirefoxOperaChrome桌面和Android上。WebRTC也可用於iOSAndroid上的本機應用程序。

有了WebRTC ,不需要任何插件或第三方軟件來處理典型問題,例如數據丟失、連接中斷和NAT遍歷。

webRTC 適用領域

  • 實時營銷

  • 實時廣告

  • 後臺通信( CRMERPSCMFFM )

  • HR管理

  • 社交網絡

  • 約會服務

  • 在線醫療諮詢

  • 金融服務監控

  • 多人遊戲

  • 實時廣播

  • 在線教育

webRTC採用的協議

實時數據通信意味着兩個用戶設備之間的快速連接。公共連接採用視頻或音頻序列幀的形式,將其一每秒30至60次的速率傳輸給另一個用戶設備,以獲得良好的質量。因此,必須瞭解,快速發送最新的數據幀比確保每個單個幀都到達更重要

這就是爲什麼WebRTC應用程序可能會錯過某些幀,以便保持良好的連接速度。

這也就是WebRTC應用程序使用UDP(用戶數據報協議)作爲傳輸層協議的原因。

但是爲什麼建立UDP是不可靠的傳輸層,因爲無法確定以下狀態:

  • 數據的順序
  • 數據的交付狀態
  • 每一個數據包的狀態

音頻和視頻WebRTC連接不是最可靠的,而是在兩個用戶設備之間傳輸最快的。在可以承受的範圍內保證數據的快速傳輸,這意味着UDP是音頻和視頻流應用程序的最佳選擇。

webRTC體系架構

這張圖來源於webRTC入門,應該每個人最開始接觸webRTC時都會知道架構圖,它描述了RTCPeerConnection的作用。

圖中可以看出一共三個不同的層:

  • web開發人員的API:包括RTCPeerConnectionRTCDataChannelMediaStrean對象
  • 瀏覽器廠商的API
  • 供瀏覽器廠商以hook方式複寫的API

傳輸組件允許在不同類型的網絡中建立連接,而語音視頻引擎是負責將音頻視頻流從聲卡和攝像機傳輸到網絡的框架。對於web開發人員來說,最重要的部分是WebRTC API。

下一篇將講解webRTC API

參考資料:
webRTC教程
Getting Started with WebRTC

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章