拓展 - WebRTC 多視頻網絡拓撲之三種架構

衆所周知,WebRTC很是適合點對點(即一對一)的音視頻會話。然而,當咱們的客戶要求超越一對一,即一對多、多對一設置多對多的解決方案或者服務,那麼問題就來了:「咱們應該採用什麼樣的架構?」 。簡單的呢有人會考慮copy多個p2p就完成了多人之間的會話,可並無考慮到到來的問題:cpu、內存、尤爲是流量問題;傳統的解決方案是MCU服務器,利用服務器硬件的能力去mix音視頻,而後傳給各個參與者,這能到達預想的,這個亦能到達咱們的需求;使用基於網狀拓撲結構的結構多是前二者的折中之選。html

儘管能實現WebRTC多人音視頻的方案,該技術的最流行的用途不侷限於多方視頻會議場景。不要覺得只是傳統的音視頻會議室,更多的狀況包括:智能硬件、ipcamera、在線課堂,實時直播等。在每一種狀況下,服務器的能力是可以從多個源的媒體流分發到多個客戶端。因此...若是你是一個服務供應商如何才能在實現支持WebRTC的多方拓撲結構?服務器

有幾種不一樣的架構根據您的要求,多是合適的。這些架構基本上他們圍繞二點:網絡

§ 集中VS對等網絡(P2P)架構

§ 混合VS路由。併發

我將在這裏介紹最流行的解決方案。若是你須要去深刻到協議的影響和實施細則的架構,你能夠找到全部的相關信息,RTP拓撲IETF文檔編碼

Mesh解決方案spa

Mesh方法是最簡單的解決方案。由於它不須要假設任何服務器,並且直接使用成熟的WebRTC傳輸方案。該體系結構基於從每個發送者建立多個一對一的數據流到每個接收端。.net

 

 

Mesh解決方案3d

該方案優勢:視頻

1,服務端壓力最小,大多數狀況下不須要用到流媒體服務。

該方案缺點:

2,客戶端負載太大,不事宜擴展,特別是移動端,編解碼壓力會很是大.

 

即便它看起來像一個低效的解決方案,在實踐中是很是有效的,而且延遲最低,每一個接收端都會根據實際狀況產生不一樣的比特率。

惟一的問題是,這種解決方案須要大量的上行帶寬將媒體流同時發送至全部目的地,現有的設備實現所需的CPU功率會顯著上升。

Mixer解決方案

Mixer的作法是多人視頻會議的傳統解決方案,而且使用多年取得了巨大成功。這一成功能夠歸功於它須要客戶端更少消耗這一事實。該架構基於具備中心點保持與每一個參與者一對一的流的特性。中心元件接收並混合每一個傳入的音頻流和視頻流,以合成一個單一的流出到每個參加者。在視頻會議行業對於這些集中元件的一個常見術語是多點控制單元(MCU)。在實踐中,使用一個MCU的一般是指一個混合器容器。

 

 

Mixer解決方案

該方案優勢:

1.1,客戶端負載最小,與一對一負載同樣,因此理論上能夠支持不少人同時視頻。

1.2,由於服務端有作編解碼,因此可與現有產品無縫集成。

1.3,能夠最大程度利用硬件能力,如硬件MCU,芯片。

該方案缺點:

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

1.2,延遲問題,由於服務端作了不少動做(解碼,合屏,混音,編碼),因此會帶來延遲。

 

混頻器是供傳統設備操做間很好的解決方案。它們還容許全位速率適配,由於混頻器能夠產生不一樣的輸出流,因此每一個接收器有不一樣的品質。混合器解決方案的另外一個優勢是它能夠利用硬件設備編解碼。

主要缺點是在MCU的基礎設施成本高。此外,因爲混合須要解碼和再編碼,這引入額外的延遲和質量的損失。最後,轉碼和組合物可在理論上致使對應用程序的用戶界面的彈性較小(儘管有此問題的解決方法)。

Router解決方案

Router(或中繼)的辦法使得H.264 SVC基礎設施普及,這也正是普遍應用的。該架構基於具備中心點從每一個發送器接收一個流併發送出一個流到每個參與者。這個中心點只作數據包檢測和轉發,而不是昂貴的編碼和實際的媒體的解碼。常見術語是SFU。

 

 

Router解決方案

該方案優勢:

1.1,與Mixer相比服務端壓力比較小,並且容易擴展。

1.2,低延遲,特別是與SVC結合能大大提高客戶端體驗度(貌似h265和vp9纔開始集成svc)。

該方案缺點:

1.1,考慮到不一樣客戶端須要不一樣的接收能力,因此真正實現下來服務端的架構也並不簡單。

 

Router提供一個便宜的可擴展的多方傳輸,具備較好的延遲性、與傳統的mixer解決方案相比沒有質量劣化。

這種方案很是適合大併發的事實會議和直播。目前較成熟的服務提供商就是聲網

 

來一張各個解決方案的流量圖?

 

 

我應該使用哪一種架構?

這個就須要根據本身的項目的須要了。其實,商業解決方案,包括上述全部方案,每每須要根據客戶的實際應用場景選擇對於的方法。不過,也有經驗,你可使用一些通用規則。

一、若是您僅是提供P2P音視頻傳輸的服務,Mesh架構多是最適合你的。另外,若是基礎設施的成本不是問題,而且參與者具備異構鏈接,這能夠是一個很好的解決方案。

二、假設你提供企業級服務,且有較好的寬帶和高效的硬件(即一個企業內部服務),參加人數是有限的,那麼你很是適合Mixer方案。

三、通常來講,若是你提供大規模服務的,應優先考慮到Router的方法。Router傳輸接近把情報在網絡的邊界,構建最終用戶應用程序時,以達到更好的可擴展性和靈活性的網絡的範例
---------------------

參考連接  https://blog.csdn.net/gupar/article/details/53101435

相關文章
相關標籤/搜索