精彩回顧丨超多人實時音視頻互動方案探索與實現(xiàn)
伴隨遠(yuǎn)程會議、在線教育、直播帶貨等深入人們的日常工作、教育和生活之中,越來越多的場景對大規(guī)模實時音視頻技術(shù)提出更高要求:50人同時互動、100萬人同時觀看需要面臨哪些技術(shù)難題?可能遇到哪些挑戰(zhàn)?
日前,即構(gòu)科技聯(lián)合開源中國共同舉辦了線上技術(shù)分享,即構(gòu)科技解決方案資深專家許明龍以「超多人實時音視頻互動方案探索與實現(xiàn)」為主題,重點分享了:
超多人房間流媒體的分發(fā)
超多人房間信令的分發(fā)
超多人房間在弱網(wǎng)下的處理
如何實現(xiàn)100萬觀眾的視頻分發(fā)
超多人房間音視頻相關(guān)配置經(jīng)驗
多人互動下的回音處理,即構(gòu)的優(yōu)勢有哪些
超多人房間界面設(shè)計
許明龍首先回顧了流媒體三大服務(wù)架構(gòu),包括Mesh、MCU、SFU,并分別闡述了它們的特點和優(yōu)劣勢:
通過對比,即構(gòu)科技選擇的是SFU這個流媒體架構(gòu),因為它只做流媒體轉(zhuǎn)發(fā)、不涉及編解碼操作,推一路流,拉多路流,對服務(wù)器消耗不高且延遲低,需要解決的就是客戶端下行帶寬的問題。
以單房間下的并發(fā)問題為例,從業(yè)務(wù)角度看,主要瓶頸包括:
實現(xiàn)視頻互通的兩個步驟:流發(fā)布、流訂閱
每個人發(fā)布的流信息,廣播到所有人
如果是100個人實時視頻互動,那么100人同時推流,就需要廣播100*99次
如果一個房間里有100萬個觀眾,那么就需要廣播100*100萬
從技術(shù)角度看,其瓶頸在于:
長連接用戶狀態(tài)維護(hù)、內(nèi)核瓶頸、鎖開銷、CPU開銷等
通過對單房間百萬人并發(fā)壓測,包括100萬用戶登錄同一個房間、房間內(nèi)1秒發(fā)送一條消息(流信息)、統(tǒng)計100萬用戶接收消息的延遲等。最終得到的結(jié)論是,最小延遲54毫秒,平均延遲361毫秒。
在解決了服務(wù)端問題后,許明龍又介紹了客戶端方面的挑戰(zhàn),即超多人房間在弱網(wǎng)下的處理。即構(gòu)科技追求的不僅僅是快,而是更快,甚至要超級快,而影響快的因素包含兩個方面,其一,TCP需要三次握手,而一次握手就需要幾百毫秒;其二,業(yè)務(wù)復(fù)雜,還要串行執(zhí)行,嚴(yán)重影響視頻體驗。
對此,即構(gòu)科技提出了兩種解決方案:
首先,對底層協(xié)議和服務(wù)接入層進(jìn)行大改造,使用QUIC替換TCP協(xié)議,重點是減少了TCP的三次握手,改進(jìn)了擁塞控制并完成了連接遷移,進(jìn)而實現(xiàn)了優(yōu)化弱網(wǎng)接入質(zhì)量;
其次,優(yōu)化信令和媒體之間的協(xié)同關(guān)系,包括登錄和流發(fā)布的很多內(nèi)部流程并行化操作,以及流發(fā)布和流訂閱的內(nèi)部流程也并行化操作。
即構(gòu)科技要實現(xiàn)的不僅如此,還要實現(xiàn)全世界范圍的快,當(dāng)然也面臨更大的挑戰(zhàn),如從底層協(xié)議到業(yè)務(wù)信令,從國內(nèi)到國外,實現(xiàn)全球化的快。
面對超多人全球化的挑戰(zhàn),最大的問題是全球數(shù)據(jù)如何互通?如何快速互通?
即構(gòu)科技帶來的解決方案是在全球部署多個數(shù)據(jù)中心,這其中也存在諸多難題,包括數(shù)據(jù)同步速度快、數(shù)據(jù)變化頻率高以及高可用環(huán)節(jié)多等。
據(jù)許明龍介紹,多數(shù)據(jù)中心有四方面優(yōu)勢:全球就近接入中心服務(wù)、提升全球每個角落的登陸速度、提升同區(qū)域用戶的通信速度和提升容災(zāi)能力。
此外,在抵抗弱網(wǎng)方面,還需要應(yīng)對下行帶寬不足的問題,要實現(xiàn):
網(wǎng)絡(luò)好的人,看到畫面流暢清晰
網(wǎng)絡(luò)不好的人,也不要卡頓,不太清晰也能接受
對此,即構(gòu)科技探索了可能存在的幾種解決方案,即:
推流端同時推兩路流,一路高清的流和一路低清的流
服務(wù)端轉(zhuǎn)碼,轉(zhuǎn)出低清的流
分層編碼
兩路流和分層編碼的區(qū)別
基于不斷的探索和實踐,即構(gòu)科技在抵抗弱網(wǎng)方面具備明顯優(yōu)勢,在丟包率達(dá)到90%的情況下,保障連接不掉線;在上行丟包率70%、下行丟包率75%的情況下,保障視頻通話正常;在上行丟包率80%、下行丟包率80%的情況下,保障音頻通話正常。
即構(gòu)科技還融合多家主流CDN廠商,利用CDN進(jìn)行大規(guī)模分發(fā)視頻,實現(xiàn)100萬觀眾分發(fā)。
在雙講場景下,回音問題也特別值得注意。即構(gòu)的做法是盡量抑制遠(yuǎn)端用戶的回聲,同時保留近端用戶的語音,詳見下圖:
針對眾多場景下的大規(guī)模超多人音視頻互動的訴求,即構(gòu)科技推出了TalkLine視頻會議系統(tǒng),一體化方案,覆蓋更多場景,涵蓋企業(yè)辦公、遠(yuǎn)程招聘、企業(yè)培訓(xùn)、在線教育、遠(yuǎn)程會診、視頻客服等等。
與此同時,TalkLine采用了即構(gòu)自研的音視頻平臺,天然的解決了以上提及的各種問題,僅需4行代碼,就可以快速擁有大規(guī)模超多人音視頻互動的能力。
展望未來,在線教育將迎來更好的發(fā)展機(jī)遇,其中即構(gòu)科技就為某教育客戶小班課實現(xiàn)了40多路音視頻通話場景;在5G時代,將迎來更大的帶寬,其音視頻能力將進(jìn)一步提升,滿足更多場景下的大規(guī)模、超多人音視頻實時互動的挑戰(zhàn)。