WebRTC基礎實踐 - 1. WebRTC簡介

WebRTC 是一個開源的實時通信項目, 主要目標是對Web/原生App平臺上的語音、視頻、以及數據傳輸等實時通訊提供支持。

WebRTC 主要包括以下 JavaScript API(點擊鏈接可查看相關demo)。

WebRTC的平臺支持情況

目前, PC版和Android版的 Firefox、Opera 和 Chrome 瀏覽器都支持WebRTC。 此外、iOS和Android的一些原生App也支持WebRTC。

譯者注: 國內使用量巨大的360瀏覽器、搜狗瀏覽器兼容性基本和Chrome一致。當然, 推薦使用最新的版本(當前時間: 2018年6月28日)。

信令(signaling)

WebRTC 通過 RTCPeerConnection 在瀏覽器之間進行流數據傳輸, 但還需要一種機制, 來協調通信以及發送控制指令, 這個過程就叫做信令控制. WebRTC 沒有規定具體使用的協議或方法。

在本教程中, 我們使用 Socket.IO 來傳遞消息, 當然也可以使用 其他實現

STUN和TURN簡介

WebRTC 是基於點對點(peer-to-peer)網絡設計的, 在理想環境中, 雙方通過路由器進行直連. 但在現實世界中, 兩個客戶端之間, 需要穿透防火牆以及 NAT 網關, 如果直連失敗, 則需要回退降級。所以, 爲了應對各種複雜的網絡環境, WebRTC API 需要使用 STUN 服務器的幫助, 來獲取雙方的公網IP, 如果對等連接失敗, 則需要使用 TURN 服務器作爲中繼服務器. 現實世界中的網絡環境是什麼樣子的呢, 請參考 WebRTC in the real world

WebRTC的安全性

WebRTC的所有組件強制加密. 相關的JavaScript API也只能在安全的域名中使用(即 HTTPS 或者 localhost). 但WebRTC標準沒有指定信令機制, 所以需要開發者確保使用了安全傳輸協議。

更多信息和資源, 請參考: http://webrtc.org/start

相關詞彙對照:

  • capture : 獲取、抓取
  • audio : 音頻
  • video : 視頻
  • stream : 流
  • data stream : 數據流
  • record : 錄製、記錄
  • signaling : 信令
  • Encryption : 加密
  • relay server : 中繼服務器
  • peer-to-peer: 點對點網絡

原文鏈接: https://codelabs.developers.google.com/codelabs/webrtc-web/#0

翻譯人員: 鐵錨 - https://blog.csdn.net/renfufei

翻譯日期: 2018年06月28日

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