到底什麼是webrtc伺服器
A. WebRTC 伺服器要幹些什麼
WebRTC 的伺服器大體分為信令伺服器和媒體伺服器
WebRTC 信令伺服器是主要功能禪做輪是為 WebRTC 通訊搭建一個了解彼此能力的通道, 交換信息, 同步改動.
而媒體伺服器就是用來交換媒體,包括對媒體賀信數據的加解密,編解碼,帶寬和速率控制等功能
不同的 RTP Toplogies 對伺服器有不同的要求
WebRTC 或者說多媒體通信一般有如下的幾種拓撲結構:
如果是兩個人之間的端到端 (P2P) 的通信, 信令伺服器的功能很簡單
而由於是點對點的通信,媒體伺服器也就不需要了。
如果是 SFU(Selective Forward Unit), 那麼它的信令伺服器除了上述的 SDP 媒體胡滑參數協商, ICE 連接地址交換,還有參加 RTP 會話的參加者信息的同步。
多個人之間的會議系統, 信令控制會麻煩很多,除了上述兩個基本功能之外, 還要有
在 RFC4575 中有這樣的定義
Multiple Control Unit 多點控制單元相比 SFU, 它有著對於媒體流的 Mix 和 translate 功能,可以很好地適配傳統的通信設備,在實際應用中,一般我們會以 SFU 為主, MCU 為輔,共同形成一個伺服器集群。
在 WebRTC 伺服器上,我們一般會維護如下的領域對象
領域對象的具體內容從略,一般有如下的 Command 或 Event
應用層的事件大約可以分為 5 類
具體的有
在一個視頻會議中,大家都在向會議室中發布自己的音視頻流,也訂閱他人的音視頻媒體流,所以伺服器,特別是 SFU 需要維護這樣一個 pub-sub 發布者和訂閱者之間的關系
B. 一文看懂WebRTC流媒體伺服器
WebRTC媒體伺服器在WebRTC應用中扮演著關鍵角色,尤其是在處理流媒體時。它們通過後端基礎設施處理和路由媒體數據包,無論是在雲端還是本地,以確保高效和流暢的通信。
在構建群組通話服務時,需要媒體伺服器以幫助管理10個參與者間的1Mbps編碼視頻流。如果沒有媒體伺服器,每個參與者將需要將數據發送給所有其他參與者,導致巨大的數據傳輸需求。這在處理更多參與者時變得困難,尤其是當人數增加到50或100人時,甚至更多。
WebRTC媒體伺服器能彌補這一不足,通過提供支持,如SFU(Server-Facing Unit)和MCU(Multipoint Control Unit)等不同類型,根據不同的需求進行媒體處理和路由。SFU在設備間路由媒體,盡量減少處理,而MCU則混合並混合各個參與者的媒體流,提供單個媒體流給客戶端。
Google Meet就是一個使用WebRTC媒體伺服器的典型例子。它可能包含了多種類型的媒體伺服器,用於提供其功能需求。媒體伺服器在WebRTC應用中是不可或缺的組件,尤其是在需要處理大規模多用戶通信、隱私保護和跨協議媒體共享的場景。
在選擇WebRTC媒體伺服器時,開源框架通常是一個熱門選擇,因其靈活性和成本效益。多數WebRTC應用傾向於使用開源媒體伺服器,而不是從頭開始開發,以節省時間和資源。此外,視頻API和CPaaS(通信平台即服務)供應商也通常提供管理的WebRTC媒體伺服器作為其解決方案的一部分,以滿足客戶的需要。