您當(dāng)前的位置是:  首頁 > 新聞 > 國內(nèi) >
 首頁 > 新聞 > 國內(nèi) >

使用串聯(lián)SFUs方式提高WebRTC媒體服務(wù)器處理性能

2018-11-14 13:39:46   作者:james.zhu   來源:CTI論壇   評論:0  點擊:


  對WebRTC來說,部署媒體服務(wù)器最大的挑戰(zhàn)來自于兩個方面:一個是對于單點服務(wù)器的拓展,另外一個挑戰(zhàn)是如何優(yōu)化會議用戶的語音時延。一些簡單的處理方式,例如簡單分片處理的方式是通過橫向拓展方式來實現(xiàn)。這樣的方式可能導(dǎo)致語音路徑和時長失去控制,語音質(zhì)量和時延問題仍然不能解決,或者可能導(dǎo)致更為嚴重的語音時延。因此,它們這種方式對于優(yōu)化媒體時延仍然是一個大問題。
  著名的開源視頻會議服務(wù)器開發(fā)商Jitsi的核心開發(fā)人員Boris Grozev和他的團隊利用了更加智能的方式Cascading SFUs的方式處理語音時時延問題,通過對比測試,測試結(jié)果取得了比較好的效果。Cascadiing(串聯(lián)?) SFU的實現(xiàn)來自于基本的網(wǎng)絡(luò)資源查詢的原理,就是通過算法路由到距離客戶最近的媒體服務(wù)器。以下內(nèi)容是官方開發(fā)人員的具體介紹,更多完整文檔參考文章鏈接。
  現(xiàn)在的很多語音業(yè)務(wù)和會議服務(wù)器都部署在云端,用戶則可能部署在世界各地,網(wǎng)絡(luò)的穩(wěn)定性會嚴重影響語音質(zhì)量,時延,抖動,丟包,或者視頻影像不清晰等問題。因此,在用戶用戶之間選擇一個最佳的媒體路徑是非常至關(guān)重要的。在WebRTC的環(huán)境中,有時是用戶之間通過ICE 或者TRUN 來實現(xiàn),這種場景事實上是非常簡單的場景,可以支持少量用戶的視頻會議。但是,如果視頻會議人數(shù)很多的時候,一個單點服務(wù)器很難處理大量用戶的會議場景。因此,使用一種智能的方法,例如SFU是非常有必要的。下面介紹兩種方式的處理機制和其策略,以及測試結(jié)果的優(yōu)化。
  首先,讓我們看看使用Star的 處理方式,如果三個用戶在不同的地方,他們需要實現(xiàn)視頻會議的話,可能需要經(jīng)過兩個服務(wù)器的處理流程,同時每個呼叫方都需要和另外兩個互相連接,而且會議中的成員加入的順序不同,可能導(dǎo)致連接錯誤或者無效的連接,這樣就會浪費很多服務(wù)器和網(wǎng)絡(luò)資源,如下圖例所示,可能用戶A和用戶B都連接了服務(wù)器 2 而不是服務(wù)器1。
  串聯(lián)SFU的橋接方式
  讓我們看看如何使用串聯(lián)的方式來解決智能選擇路由和服務(wù)器的方式。通過串聯(lián)的方式來處理的話,用戶A 就會通過服務(wù)器1,然后對接服務(wù)器2,呼叫服務(wù)器2的用戶C。這樣的話,兩臺服務(wù)器就會被充分利用,減少了資源浪費。
  往返時延的影響
  連接SFU的橋接有其優(yōu)勢也有其劣勢。其劣勢是增加了多個跳轉(zhuǎn),但是如果進行了優(yōu)化以后,大大減少了語音數(shù)據(jù)的往返時延。關(guān)于此策略的實現(xiàn),參考鏈接論文有詳細介紹。對于WebRTC來說,通常情況下使用RTP來傳輸數(shù)據(jù),其本身具有不可靠性。如何實現(xiàn)視頻的重新傳輸也是一個很大的挑戰(zhàn)。使用單機服務(wù)器的往返時延如下,需要多次不同對象的處理。
  使用SFU橋接的往返時間的話,重新傳輸僅限于本地服務(wù)器傳輸。例如,如果丟包發(fā)生在用戶A和服務(wù)器1之間,服務(wù)器1要求用戶A重傳。如果丟包發(fā)生在用戶C和服務(wù)器2之間,服務(wù)器2則要求用戶C之間重傳;如果兩個服務(wù)器之間發(fā)生丟包,則要求兩個服務(wù)器之間重傳數(shù)據(jù)包。用戶終端可以通過設(shè)置jitter buffer來緩存視頻播放。根據(jù)作者結(jié)論,理論上來說,雖然,端對端的整個往返時間長于外部服務(wù)器部署方案的時間,但是端對端的時延降低。
  如何部署一個串聯(lián)的SFU
  剛才我們討論了串聯(lián)SFU的好處和對說延的正面影響,F(xiàn)在討論一下如何部署基于Jitsi的視頻會議解決方案。具體解決方案查閱Jitsi 官方網(wǎng)站。
  其他協(xié)議使用以及優(yōu)化設(shè)置
  在部署串聯(lián)SFU的環(huán)境中,除了技術(shù)架構(gòu)的調(diào)整以外,Jitisi還使用了其他的協(xié)議和優(yōu)化手段來進一步實現(xiàn)SFU的性能優(yōu)化。具體的方法包括:
  • 使用了Octo protocol
  • 使用了Simulcast
  • 設(shè)置了Active Speaker Selection
  • 設(shè)置了Bridge Selection
  為了能夠網(wǎng)站客觀地測試SFU的橋接方式,用戶使用亞馬遜云平臺,對接機構(gòu)地區(qū)的云服務(wù)器進行傳輸測試,測試結(jié)果比較滿意。
  總結(jié),通過SFU 橋接方式可以提高SFU 視頻會議服務(wù)器的媒體質(zhì)量,同時可以增加SFU 視頻會議服務(wù)器的拓展性。克服人員準(zhǔn)備在最近的版本發(fā)布中做進一步的測試。
  注:以上文檔是筆者翻閱以便作為技術(shù)學(xué)校的資料,用戶可以參考官方原文做進一步研究。
  參考資料:
  https://webrtchacks.com/sfu-cascading/
  https://jitsi.org/wp-content/uploads/2018/11/ccwc2018-geo.pdf


  關(guān)注微信公眾號:asterisk-cn,獲得有價值的Asterisk行業(yè)分享
  Asterisk freepbx 中文官方論壇:http://bbs.freepbx.cn/forum.php
  Asterisk freepbx技術(shù)文檔: www.freepbx.org.cn
  融合通信商業(yè)解決方案,協(xié)同解決方案首選產(chǎn)品:www.hiastar.com
  Asterisk/FreePBX中國合作伙伴,官方qq技術(shù)分享群(3000千人):589995817

【免責(zé)聲明】本文僅代表作者本人觀點,與CTI論壇無關(guān)。CTI論壇對文中陳述、觀點判斷保持中立,不對所包含內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。請讀者僅作參考,并請自行承擔(dān)全部責(zé)任。

相關(guān)熱詞搜索: WebRTC SFUs

上一篇:全球?qū)<以诰視頻,助力中國銀行

下一篇:最后一頁

專題