近年來(lái),在線(xiàn)教育、狼人殺、在線(xiàn)抓娃娃、線(xiàn)上 KTV 等多人視頻互動(dòng)模式不斷涌現,實(shí)時(shí)音視頻通信風(fēng)頭正勁,實(shí)時(shí)音視頻技術(shù) WebRTC 也因此受到了廣泛關(guān)注。相關(guān)數據顯示,2017-2021 年期間,全球網(wǎng)絡(luò )實(shí)時(shí)通信(WebRTC)市場(chǎng)將以 34.37% 的年均復合增長(cháng)率增長(cháng)。(數據來(lái)源: Technavio 《全球網(wǎng)絡(luò )實(shí)時(shí)通訊(WebRTC)市場(chǎng),2017-2021》報告)
實(shí)時(shí)互動(dòng)新時(shí)代:進(jìn)擊的 WebRTC
2017 年 11 月,WebRTC 1.0 標準草案出爐后,越來(lái)越多廠(chǎng)商開(kāi)始對它進(jìn)行廣泛支持。WebRTC 官方數據顯示,WebRTC 已經(jīng)有超過(guò) 1300 個(gè)公司和項目使用,80% 以上的瀏覽器支持 ,WebRTC 被應用在各種我們熟知的應用上:WhatsApp、Facebook Manager、appear.in 和 TokBox 等。
WebRTC 全名為 Web Real Time Communication(網(wǎng)頁(yè)即時(shí)通信),是 Google 推進(jìn)的開(kāi)源項目,最初目標是為瀏覽器實(shí)現無(wú)插件的實(shí)時(shí)音視頻通話(huà)。基于 WebRTC 搭建平臺實(shí)現連麥互動(dòng),可大大降低音視頻通信的接入門(mén)檻和開(kāi)發(fā)成本:
1、80% 的瀏覽器支持 WebRTC
Google 將 WebRTC 開(kāi)源之前,實(shí)現瀏覽器之間的實(shí)時(shí)通信是一個(gè)很困難的任務(wù)。現在,開(kāi)發(fā)者無(wú)需關(guān)注音視頻引擎實(shí)現細節,使用簡(jiǎn)單的 HTML 標簽和 JavaScript API 就能夠實(shí)現 Web 端的音視頻通信功能。目前,Chrome、Safari、Firefox、Opera 等主流瀏覽器已經(jīng)全部支持 WebRTC,作為 H5 的標準之一,未來(lái)必將有更多瀏覽器支持。
2、可實(shí)現全平臺互聯(lián)互通
想象這樣一個(gè)場(chǎng)景:當你在手機上分享一個(gè) Web 鏈接給朋友,一定期望對方打開(kāi)瀏覽器即可和你實(shí)時(shí)對話(huà),因此,實(shí)現跨平臺的互聯(lián)互通是一個(gè)很重要的體驗。Google 開(kāi)放了底層端 C++ 接口,基于該接口,開(kāi)發(fā)者可以開(kāi)發(fā) iOS、Android、Mac、Windows 等各平臺應用,實(shí)現全平臺應用互聯(lián)互通。
3、WebRTC 具有強大的打洞能力
WebRTC 技術(shù)包含了使用 STUN、ICE、TURN、RTP-over-TCP 的關(guān)鍵 NAT 和防火墻穿透技術(shù),并支持代理,保證 P2P 客戶(hù)端可以通過(guò)直接通信實(shí)現文件信息、處理器運算能力、存儲空間等資源的共享。
4、安全可靠,質(zhì)量穩定
WebRTC 提供可靠的視頻音頻數據加密功能,保證音視頻數據在公網(wǎng)上的傳輸安全,無(wú)需擔心被信息竊取。對于數據敏感的企業(yè),只要配合私有化存儲,即可實(shí)現數據的安全傳輸和存儲。同時(shí),Google 的強大技術(shù)背書(shū)和支持,可以保證技術(shù)的快速更新迭代,例如聲音降噪、音量增益、回聲消除,可以極大的優(yōu)化用戶(hù)體驗,保證穩定的質(zhì)量。
WebRTC 與產(chǎn)業(yè)級應用之間的距離
這樣看來(lái),基于 WebRTC 實(shí)現實(shí)時(shí)音視頻通話(huà)似乎并不難,然而實(shí)際上,從 WebRTC 到一個(gè)產(chǎn)業(yè)級應用,還有相當長(cháng)的距離:
1、全平臺支持開(kāi)發(fā)量較大
WebRTC 只提供了 Web 端的接入能力,對 Android、iOS、Windows 等客戶(hù)端沒(méi)有提供簡(jiǎn)單易用的 SDK。對于開(kāi)發(fā)者的能力和經(jīng)驗有很大的挑戰,而對于缺少音視頻技術(shù)積累的公司來(lái)說(shuō),這無(wú)疑會(huì )增大開(kāi)發(fā)成本、延長(cháng)上線(xiàn)時(shí)間。
2、P2P 連接方式的天然弊病
P2P 的連接方式最大的問(wèn)題在于連通成功率不高,Google 給出的國外官方數據是 86%。在多人互動(dòng)的場(chǎng)景下,P2P 的模型更加無(wú)力。多人互動(dòng)時(shí)需要把自己的流同時(shí)發(fā)布給多人,這對上行帶寬的要求很高,當前的網(wǎng)絡(luò )環(huán)境很難支持多人會(huì )話(huà)場(chǎng)景。
3、場(chǎng)景支持單一
P2P 使用的是端到端之間直連,沒(méi)有服務(wù)端,因此支持的場(chǎng)景僅限于 1 對 1 的簡(jiǎn)單通信,沒(méi)有辦法在服務(wù)端對音視頻流做處理服務(wù),比如:合流、旁路直播、水印、轉碼等。
因此,對于音視頻技術(shù)能力儲備較少的公司,選擇一家靠譜的一站式解決方案供應商可以極大降低開(kāi)發(fā)成本、縮短產(chǎn)品上線(xiàn)時(shí)間。
七牛實(shí)時(shí)音視頻云是一套基于標準 WebRTC 的實(shí)時(shí)音視頻解決方案,同時(shí)對 WebRTC 的上述問(wèn)題作出了優(yōu)化。 七牛實(shí)時(shí)音視頻云提供全平臺的實(shí)時(shí)音視頻 SDK,通過(guò)自研 RTC 加速網(wǎng)絡(luò )及強大云端能力支撐,為客戶(hù)提供跨平臺、高品質(zhì)、可定制化的一站式解決方案。

七牛基于 WebRTC 提供產(chǎn)業(yè)級解決方案
1、P2S 連接模型,實(shí)現 1 對多互動(dòng)
七牛 RTN 的連接模型叫 P2S(Peer to Sever),采用 SFU 拓撲方案,即轉發(fā)模型方案。我們在 Client A 和 Client B 之間增加了服務(wù)器,Signal Sever 做端與端的信令傳輸,Media Sever 負責建立數據通道,基于 Media Sever 我們就可以完成轉發(fā)量。相比于 WebRTC 的 P2P 模型,P2S 不僅能規避上行帶寬較小的問(wèn)題,還能實(shí)現多人實(shí)時(shí)音視頻互動(dòng)。

P2P 模型 P2S 模型


2、RTC 加速網(wǎng)絡(luò ),高可靠低延遲
七牛 RTC 自研加速網(wǎng)絡(luò )作為一個(gè)實(shí)時(shí)傳輸網(wǎng)絡(luò ),相比于一般加速網(wǎng)絡(luò )而言,擁有全球節點(diǎn)和多類(lèi)供應商線(xiàn)路支持,采用全自研邊緣加速方案,全面支持信令和數據傳輸的加速,智能分配流媒體服務(wù)器和加速線(xiàn)路,從而保證了全網(wǎng)的高連通性和低延時(shí)。

RTC 加速網(wǎng)絡(luò )
3、旁路直播云端存儲,支持點(diǎn)播回放
「旁路直播」和「點(diǎn)播回放」是實(shí)時(shí)互動(dòng)的常見(jiàn)衍生場(chǎng)景。例如,幾個(gè)人在線(xiàn)上實(shí)時(shí)開(kāi)會(huì ),同時(shí)有成千上萬(wàn)的人也想觀(guān)看會(huì )議直播,這就需要在服務(wù)端將流轉推直播,即「旁路直播」,旁路直播能以較低成本實(shí)現互動(dòng)信息的最大化傳播:
如在金融、政務(wù)、客服等應用場(chǎng)景中,互動(dòng)內容還需要落存儲進(jìn)行備案備查,可以在七牛云端實(shí)時(shí)切片和落存儲;針對教育、秀場(chǎng)互動(dòng)等場(chǎng)景,后期可以將落存儲的音視頻內容再通過(guò) CDN 進(jìn)行二次傳播。
4、支持服務(wù)端合流,應對各類(lèi)終端機型
從分發(fā)成本、存儲成本的角度上考慮,在進(jìn)行旁路直播、云端落存儲之前,通常需要將互動(dòng)的多個(gè)畫(huà)面合并為一個(gè)畫(huà)面,這個(gè)過(guò)程即「合流」。合流可以在客戶(hù)端或服務(wù)端完成,客戶(hù)端合流雖然是一種比較簡(jiǎn)單的合流方式,但是存在手機發(fā)燙、合流不穩定等問(wèn)題;相比于客戶(hù)端合流,服務(wù)端合流對終端要求更低,合流畫(huà)面更流暢,畫(huà)質(zhì)更清晰,極大降低手機發(fā)熱和卡頓。七牛采用在服務(wù)端的 GPU 合流方案,可以極大的改善合流的效率、穩定性和畫(huà)面質(zhì)量。

七牛 RTN 正式上線(xiàn)
支持各種場(chǎng)景無(wú)縫接入
七牛云實(shí)時(shí)音視頻云(RTN)目前已正式上線(xiàn),在社交、教育、醫療、金融、會(huì )議、政務(wù)民生表現出了強大的可用性,能應對各類(lèi)場(chǎng)景的需求。
- 社交領(lǐng)域:支持主播之間互相連麥或主播觀(guān)眾連麥,提供美顏、濾鏡、大眼、瘦臉等功能,滿(mǎn)足趣味性互動(dòng)。
- 教育領(lǐng)域:靈活支持一對一教育、互動(dòng)小班、萬(wàn)人大班,全平臺互通,支持屏幕共享,滿(mǎn)足多場(chǎng)景下的教育需求。
- 互動(dòng)會(huì )議:支持小團隊線(xiàn)上交流和大型在線(xiàn)會(huì )議,可以輕松做出一款類(lèi)似 WebEx 的應用。
- 醫療領(lǐng)域:支持遠程多方視頻會(huì )診,突破醫療資源的地域限制和系統平臺限制,提高醫患時(shí)間地域靈活性,降低診斷成本。
- 金融領(lǐng)域:支持向技術(shù)支持人員發(fā)起視頻通話(huà)請求,技術(shù)支持人員通過(guò)視頻指導用戶(hù)操作,快速定位、解決問(wèn)題,提升服務(wù)品質(zhì)和產(chǎn)品美譽(yù)度。
- 政務(wù)民生:支持在線(xiàn)庭審、遠程報警、遠程應急指揮等政務(wù)音視頻通話(huà)需求,方便市政人員通過(guò)多終端瀏覽器和市民進(jìn)行雙向音視頻通話(huà)


在以上場(chǎng)景中,七牛 RTN 提供的一站式解決方案,能夠保存視頻,符合需要留痕的合規需求;能夠對音視頻進(jìn)行二次加工,在對外傳播效率方面有著(zhù)極大的提升。
如今,互聯(lián)網(wǎng)的快速發(fā)展,WebRTC 技術(shù)日趨成熟,實(shí)時(shí)音視頻通信將會(huì )有更多的應用場(chǎng)景以及更大的發(fā)展空間。七牛 RTN 將繼續在實(shí)時(shí)音視頻領(lǐng)域深耕,直擊實(shí)時(shí)音視頻開(kāi)發(fā)痛點(diǎn),為音視頻產(chǎn)業(yè)客戶(hù)提供更有借鑒意義的創(chuàng )新技術(shù)和優(yōu)質(zhì)解決方案。