本文主要介紹多人視頻會議服務端架構方式,文章來自博客園RTC.Blacker,轉載必須說明出處,歡迎關注個人微信公眾號blacker,更多詳見www.rtc.help
隨着移動互聯網的迅速發展,很多公司都想介入在線教育、智能家居、多人視頻、安防監控等領域,雖然都是視頻通訊,但他們服務端的架構與點對點通訊大不想同,
大部分情況下的單人視頻通話可能根本不需要用到流媒體服務,而多人視頻,在線教育這些則必須用到,所以下面主要介紹多人視頻中服務端架構模式,以及各自特點:
一,Mesh結構.
這是最簡單的多人視頻通話架構模式,所有媒體流都不需要經過服務端,客戶端直接P2P,可通過webrtc建立多個PeerConnection,結構圖如下:
該方案優點:
1,服務端壓力最小,大多數情況下不需要用到流媒體服務。
該方案缺點:
2,客戶端負載太大,不事宜擴展,特別是移動端,編解碼壓力會非常大.
二,Mixer結構:
視頻會議基本上就是種結構,他的最大特點就是服務端做了很多事情,包括轉碼,混音,合屏,所以服務端負載非常大,結構圖如下:
該方案優點:
1.1,客戶端負載最小,與一對一負載一樣,所以理論上可以支持很多人同時視頻。
1.2,因為服務端有做編解碼,所以可與現有產品無縫集成。
1.3,可以最大程度利用硬件能力,如硬件MCU,芯片。
該方案缺點:
1.1,服務端負載很大,建設成本很高。
1.2,延遲問題,因為服務端做了很多動作(解碼,合屏,混音,編碼),所以會帶來延遲。
三,Router結構
該方案最大特點就是服務端只負責包轉發,不負責轉碼,yy流媒體服務基本上就是這個功能,結構圖如下.
該方案優點:
1.1,與Mixer相比服務端壓力比較小,而且容易擴展。
1.2,低延遲,特別是與SVC結合能大大提升客戶端體驗度(貌似h265和vp9才開始集成svc)。
該方案缺點:
1.1,考慮到不同客戶端需要不同的接收能力,所以真正實現下來服務端的架構也並不簡單。
補充說明:
1,因為各種模式都有自己的優缺點,所以實際應用中您應該根據自己的具體業務選擇適合的架構模式。
2,現在有很多開源框架和PAAS可以做上面這些事情,但是實際應用中都存在這樣的問題,並不成熟。