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

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

P2P 模型 P2S 模型


2、RTC 加速網(wǎng)絡(luò),高可靠低延遲
七牛 RTC 自研加速網(wǎng)絡(luò)作為一個(gè)實(shí)時(shí)傳輸網(wǎng)絡(luò),相比于一般加速網(wǎng)絡(luò)而言,擁有全球節(jié)點(diǎn)和多類供應(yīng)商線路支持,采用全自研邊緣加速方案,全面支持信令和數(shù)據(jù)傳輸?shù)募铀伲悄芊峙淞髅襟w服務(wù)器和加速線路,從而保證了全網(wǎng)的高連通性和低延時(shí)。

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

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


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