WebRTC現狀以及多人視訊通話分析

anyRTC發表於2019-04-12

隨著科技的發展,音視訊技術在我們生活中的應用。anyRTC基於WebRTC的基礎,憑藉多年的開發經驗,充分結合實際應用情況,打造了一個WebRTC的音視訊通訊雲平臺,提供音視訊服務解決方案。

WebRTC 概述

WebRTC(網頁實時通訊技術)是一系列為了建立端到端文字或者隨機資料的規範,標準,API和概念的統稱。這些對等端通常是由兩個瀏覽器組成,但是WebRTC也可以被用於在客戶端和伺服器之間建立通訊連線,或者在任何其他可以實施WebRTC標準的裝置之間進行通訊建立。

WebRTC是一個開源專案,可在瀏覽器中實現無外掛的實時通訊(RTC)。它包括用於高質量通訊的基本構建模組,例如用於語音和視訊聊天應用的網路,音訊和視訊元件。這些元件在瀏覽器中實現時,可以通過JavaScript API訪問,使開發人員能夠輕鬆實現自己的RTC Web應用程式。

WebRTC由三個API組成:

  • GetUserMedia(攝像頭和麥克風訪問)

  • PeerConnection(傳送和接收媒體)

  • DataChannels(在瀏覽器之間直接傳送非媒體)

image

WebRTC的目標是什麼?

WebRTC旨在為開發社群提供開放,高質量的實時通訊技術。在WebRTC之前,這種型別的RTC技術僅適用於能夠負擔昂貴的許可費用或通過AdobeFlash等專有外掛的大型公司。WebRTC將為新一波視訊,語音和資料Web應用程式開啟大門。

WebRTC在哪裡工作?

WebRTC目前支援Opera,谷歌Chrome版本23+和Mozilla Firefox版本22+,Safari11+,以及國內的QQ瀏覽器和360安全瀏覽器,WebRTC的開發得到了W3C,Google,Mozilla和Opera的支援。其他擁有該標準的包括蘋果,微軟,愛立信,思科和無數小型實時通訊公司。

WebRTC重要性

WebRTC專案非常重要,因為它標誌著強大的實時通訊(RTC)標準首次開源供公眾使用。它為新一波RTC Web應用程式開啟了大門,這將改變我們今天的溝通方式。 顯著更好的視訊質量WebRTC視訊質量明顯優於Flash。 連線時間快6倍使用JavaScript WebSockets(也是HTML5標準)可以縮短會話連線時間並加速其他OpenTok事件的交付。 減少音訊/視訊延遲WebRTC通過WebRTC顯著改善延遲,實現更自然,更輕鬆的對話。 免於Flash使用WebRTC和JavaScript WebSockets,您不再需要依賴Flash來實現基於瀏覽器的RTC。 原生HTML5元素自定義外觀和使用視訊,就像在HTML5中使用新視訊標記的網頁上的任何其他元素一樣。

image

WebRTC實現了實時,無外掛視訊,音訊和資料通訊的開放標準。許多Web服務使用RTC,但需要下載,本機應用程式或外掛。其中包括Skype,Facebook和Google Hangouts。下載,安裝和更新外掛很複雜,容易出錯並且很煩人。外掛很難部署,除錯,故障排除,測試和維護,並且可能需要許可並與複雜,昂貴的技術整合。通常很難說服人們首先安裝外掛!WebRTC專案的指導原則是其API應該是開源的,免費的,標準化的,內建於Web瀏覽器中並且比現有技術更有效。WebRTC的API和標準可以使內容建立和通訊工具民主化和分散化 - 用於電話,遊戲,視訊製作,音樂製作,新聞採集和許多其他應用。

WebRTC開發現狀

WebRTC的開發現狀其實並不像大多數人所想象的那麼簡單,人們普遍的認為WebRTC的程式碼是開源的所以花很少的時間就能將其整合到專案中去,並且Google這麼大的公司的產品質量一定沒問題。但是在專案進行中,大家都會發現,WebRTC並不是一塊Google白送到面前的肉。首先,編譯WebRTC的原始碼就是一個比較大的挑戰,搭建其複雜的編譯環境往往會遇到很多意想不到的問題,導致當初計劃用幾個星期的時間來搞定專案,卻發現這幾個星期連編譯都沒搞定。還有,WebRTC中很多的引數都是由GIPS公司的工程師們依靠經驗所設定的值,這就會出現卡頓、延時、回聲、丟包、多人視訊不穩定等問題,並且由於公網的穩定性或機型適配等外在因素,以上問題在專案上線後會更加嚴重。總而言之,WebRTC雖然提供了一套音視訊實時通訊的解決方案,但是在實際應用中,由於網路傳輸、裝置適配以及多方通話上都存在很多問題,效果並不理想。

WebRTC多方方案

Mesh架構

這是最簡單的多人視訊通話架構模式,所有媒體流都不需要經過服務端,客戶端直接P2P,可通過WebRTC建立多個PeerConnection,結構圖如下:

優點:

  • 服務端壓力最小,大多數情況下不需要用到流媒體服務。

缺點:

  • 客戶端負載太大,不事宜擴充套件,特別是移動端,編解碼壓力會非常大.
Mixer架構

視訊會議基本上就是種結構,他的最大特點就是服務端做了很多事情,包括轉碼,混音,合屏,所以服務端負載非常大,結構圖如下:

優點:

  • 客戶端負載最小,與一對一負載一樣,所以理論上可以支援很多人同時視訊。

缺點:

  • 服務端負載很大,建設成本很高。

  • 延遲問題,因為服務端做了很多動作(解碼,合屏,混音,編碼),所以會帶來延遲。

Router架構

該方案最大特點就是服務端只負責包轉發,不負責轉碼,結構圖如下:

優點:

  • 與Mixer相比服務端壓力比較小,而且容易擴充套件。

  • 低延遲

缺點:

  • 不同客戶端能夠接收的媒體流不盡相同,伺服器端需要適配

開發者可以根據自身需求來定自己的方案.

關於anyRTC

anyRTC針對不同場景需求,提供多樣化的音視訊解決方案,核心業務包括互動連麥直播、多人音視訊會議、P2P音視訊呼叫、實時直播、智慧排程、互動白板、線上教育等等,滿足市場上對音視訊業務的需求。anyRTC一直主推WebRTC技術方案對原有音視訊系統進行升級改造,降低了使用者對音視訊技術的使用門檻。

  • anyRTC官網:www.anyrtc.io

  • 業務諮詢請QQ:580477436

  • 聯絡電話:021-65650071-839

image


相關文章