如上圖:如果 A 和 B 要發(fā)起音視頻通話,需要將雙方的 SDP 信息做交換,才能建立連接。由此可見信令系統(tǒng)若想保證足夠的穩(wěn)定,連通率、到達率、高并發(fā)、高可用等技術指標需全部達標,才能確保 WebRTC 通話的建立和通話過程中的邏輯控制。
2、高可用的媒體服務器
WebRTC 常見的幾種模式如下:
1) Mesh 網(wǎng)狀結構
通過搭建 Turn/Stun 服務直接發(fā)起端到端的 P2P 通話。
優(yōu)點:不需要搭建 MediaServer 。
缺點:對于多人通話需要每個客戶端都跟其他兩個端分別建立 P2P 連接,每新增一個客戶端,所有的客戶端都需要新增一路數(shù)據(jù)上行,導致客戶端上行帶寬占用太大。因此,通話人數(shù)越多,效果越差,也無法在服務端對視頻進行額外處理,如:錄制存儲回放、實時轉碼、智能分析、多路合流、轉推直播等。
2)MCU
服務端負責把參與者的視頻做混流,多人參會每個人只有一個上行視頻,同時接收一個下行視頻流。
優(yōu)點:客戶端壓力較小,帶寬消耗小,服務端可以控制下發(fā)的視頻數(shù)據(jù),從而可以發(fā)起更多參與者的視頻會議。
缺點:服務器資源消耗較大,對服務器的性能要求高,服務器成本高昂。
3)SFU
SFU 的全稱是:Selective Forwarding Unit,是一種通過服務器來路由和轉發(fā) WebRTC 客戶端音視頻數(shù)據(jù)流的方法。 SFU 服務器最核心的特點是把自己”偽裝”成一個 WebRTC 的客戶端,將一個 Client 端的數(shù)據(jù)轉發(fā)到其他多個 Client 端。
優(yōu)點:對服務器性能要求不高。
缺點:對服務器和客戶端帶寬要求高。
融云音視頻的實踐
音視頻領域飛速發(fā)展的今天,融云也通過在音視頻領域多年的摸爬滾打,充分借助融云 IM 通道的穩(wěn)定性和數(shù)年來逐步優(yōu)化的覆蓋全球的專有網(wǎng)絡優(yōu)勢,打造出了自己的音視頻解決方案。
1、信令系統(tǒng)
1)可靠性
融云對分布式 RTC 網(wǎng)絡的活用,讓信令服務與媒體服務不需要狀態(tài)同步,媒體中心間不需要狀態(tài)同步;音視頻復用融云即時通訊信令通道,信令服務與媒體服務解耦、無依賴;弱網(wǎng)環(huán)境下,消息發(fā)送方只要將消息發(fā)送到服務器端,服務器端能確保消息不丟、不亂、不重。
2)安全性
基于融云自有知識產(chǎn)權的連接加密技術,可以防止黑客以中間人方式進行數(shù)據(jù)竊聽,數(shù)據(jù)在傳輸過程中不可破解, NAV 導航服務與 CMP 連接管理服務的安全算法一致,每個客戶端從導航服務獲取到加密校驗值( SM2 標準),均按照安全算法與所連接的 CMP 服務進行安全協(xié)商,針對校驗值 CMP 會進行合法性驗證( SM3標準),協(xié)商的校驗值不能在其他 CMP 連接管理服務上使用。消息在傳輸之前,通過 SM4 對數(shù)據(jù)進行加密,并且通過加密連接傳輸將信息發(fā)送到發(fā)送方所在 CMP 連接管理服務,之后,由發(fā)送方所在 CMP 連接管理服務進行解密并將解密后的消息發(fā)給消息服務,依據(jù)協(xié)議內容,由消息服務負責將信息傳遞給接收方所在 CMP 連接管理服務,而后 CMP 連接管理服務依據(jù)接收方的密鑰進行信息加密,最后通過加密連接下發(fā)信息。
2、MediaServer
1)全球化部署,低延遲
全球部署多個 MediaServer 數(shù)據(jù)中心,用戶就近接入;跨國網(wǎng)絡之間通過專線連接,保證媒體數(shù)據(jù)傳輸延遲低。
2)動態(tài)擴展
信令和 MediaServer 完全解耦,隨時隨地部署,通過監(jiān)測服務器負載情況可以隨著業(yè)務量級增長動態(tài)橫向擴容,保證業(yè)務的高可用性。
3)高質量音視頻流
通過高效的處理,提高服務器吞吐量,減少丟包率,通過丟包重傳和網(wǎng)絡探測機制,提高在弱網(wǎng)環(huán)境下的音視頻質量和用戶體驗。