WebRTC - 概述



隨著WebRTC(Web 即時通訊)的出現,網路不再與即時通訊隔絕。儘管它於 2011 年 5 月釋出,但它仍在不斷發展,其標準也在不斷變化。一組協議由IETF(網際網路工程任務組)http://tools.ietf.org/wg/rtcweb/處的網路瀏覽器中的即時通訊工作組標準化,而新的 API 集則由W3C(全球資訊網聯盟)http://www.w3.org/2011/04/webrtc/處的Web 即時通訊工作組標準化。隨著 WebRTC 的出現,現代 Web 應用程式可以輕鬆地將音訊和影片內容流式傳輸到數百萬人。

基本方案

WebRTC 允許您快速輕鬆地建立到其他 Web 瀏覽器的點對點連線。要從頭開始構建這樣的應用程式,您將需要大量的框架和庫來處理諸如資料丟失、連線斷開和 NAT 穿越等典型問題。使用 WebRTC,所有這些都內建在瀏覽器的開箱即用功能中。這項技術不需要任何外掛或第三方軟體。它是開源的,其原始碼可在http://www.webrtc.org/.免費獲得。

WebRTC API 包括媒體捕獲、音訊和影片的編碼和解碼、傳輸層以及會話管理。

Basic Scheme

媒體捕獲

第一步是訪問使用者裝置的攝像頭和麥克風。我們檢測可用裝置的型別,獲取使用者訪問這些裝置的許可權並管理流。

音訊和影片的編碼和解碼

透過網際網路傳送音訊和影片資料流並非易事。這就是編碼和解碼發揮作用的地方。這是將影片幀和音訊波分解成更小的塊並壓縮它們的過程。此演算法稱為編解碼器。有大量的不同編解碼器,由不同公司維護,具有不同的業務目標。WebRTC 內部也有許多編解碼器,如 H.264、iSAC、Opus 和 VP8。當兩個瀏覽器連線在一起時,它們會在兩個使用者之間選擇最優的支援的編解碼器。幸運的是,WebRTC 在幕後完成了大部分編碼工作。

傳輸層

傳輸層管理資料包的順序、處理資料包丟失以及連線到其他使用者。同樣,WebRTC API 使我們能夠輕鬆訪問告知我們連接出現問題的事件。

會話管理

會話管理處理管理、開啟和組織連線。這通常稱為信令。如果您將音訊和影片流傳輸給使用者,那麼傳輸輔助資料也是有意義的。這是透過RTCDataChannel API完成的。

來自 Google、Mozilla、Opera 等公司的工程師已經出色地將這種即時體驗帶到了 Web 上。

瀏覽器相容性

WebRTC 標準是 Web 上發展最快的標準之一,因此這並不意味著每個瀏覽器都同時支援所有相同的特性。要檢查您的瀏覽器是否支援 WebRTC,您可以訪問http://caniuse.com/#feat=rtcpeerconnection。在所有教程中,我建議您在所有示例中都使用 Chrome。

試用 WebRTC

讓我們立即開始使用 WebRTC。

Click JOIN

點選“加入”按鈕。您應該會看到一個下拉通知。

Click Allow

點選“允許”按鈕開始將您的影片和音訊流式傳輸到網頁。您應該會看到您自己的影片流。

Open the URL

現在在新的瀏覽器選項卡中開啟您當前所在的 URL,然後點選“加入”。您應該會看到兩個影片流 - 一個來自您的第一個客戶端,另一個來自第二個客戶端。

Video Stream

現在您應該理解為什麼 WebRTC 是一款強大的工具。

用例

即時 Web 為一系列全新的應用程式打開了大門,包括基於文字的聊天、螢幕和檔案共享、遊戲、影片聊天等等。除了通訊之外,您還可以將 WebRTC 用於其他目的,例如 -

  • 即時營銷
  • 即時廣告
  • 後臺辦公通訊(CRM、ERP、SCM、FFM)
  • 人力資源管理
  • 社交網路
  • 約會服務
  • 線上醫療諮詢
  • 金融服務
  • 監控
  • 多人遊戲
  • 直播
  • 電子學習

總結

現在您應該清楚地瞭解 WebRTC 的含義。您還應該瞭解可以使用 WebRTC 構建哪些型別的應用程式,因為您已經在瀏覽器中嘗試過它了。總而言之,WebRTC 是一項非常有用的技術。

廣告

© . All rights reserved.