WebRTCon聯(lián)席主席&網(wǎng)易云信CTO趙加雨

在演講中吳桐和大家分享了網(wǎng)易云信基于WebRTC技術(shù)的開發(fā)難點、解決方案和應(yīng)用案例,充分體現(xiàn)網(wǎng)易自研的全功能工業(yè)級音視頻框架NRTC(Netease Real-Time Communication),對WebRTC的技術(shù)升級和優(yōu)化,以及對音視頻使用場景的全面思考。

網(wǎng)易云信多媒體資深技術(shù)架構(gòu)師吳桐

強化瀏覽器兼容性 實現(xiàn)多人音視頻通話

目前,如在線教育、網(wǎng)絡(luò)直播等,以Web端為入口的多人音視頻通話場景已經(jīng)滲透到人們的生活。而WebRTC技術(shù)最主要的優(yōu)勢就在于它可以幫助用戶在沒有插件和客戶端的情況下,輕松實現(xiàn)網(wǎng)頁瀏覽器之間的超低延時的語音通話和視頻通話。

然而作為一項開源技術(shù),各家瀏覽器在實現(xiàn)WebRTC的同時,技術(shù)層面也存在較大的差異,這就導(dǎo)致了不同瀏覽器端的API、SDP等不兼容的情況。面對這一技術(shù)難點,網(wǎng)易云信通過NRTC做了大量的調(diào)優(yōu)工作。NRTC基于JavaScript腳本,把WebRTC原生的API封裝成更通用、更易用的軟件開發(fā)包提供給用戶,從而實現(xiàn)不同瀏覽器之間的適配。

此外,點對點單聊模式的WebRTC在多人音視頻會話以及超大型群聊的場景中沒有進一步的優(yōu)化操作。為了解決這一問題并提供更高效的媒體數(shù)據(jù)傳輸能力,網(wǎng)易云信在多人會議場景中選擇了SFU拓撲方案,即轉(zhuǎn)發(fā)模型方案。同時,為了減小用戶側(cè)流量的壓力,網(wǎng)易云信在SFU拓撲方案的技術(shù)上配合訂閱系統(tǒng)一起使用。如此一來,這種組合方案不僅降低了用戶端的復(fù)雜度,還保證了服務(wù)器端的高性能。

網(wǎng)易云信全功能工業(yè)級音視頻技術(shù)框架——NRTC

接入NRTC網(wǎng)關(guān)服務(wù)器 實踐豐富音視頻功能

近兩年,直播競答、游戲直播、短視頻、在線抓娃娃等新的實時音視頻應(yīng)用快速發(fā)展和更迭,隨著用戶對于功能和場景的多方面需求,網(wǎng)易云信通過在NRTC架構(gòu)中增加WebRTC的網(wǎng)關(guān)服務(wù)器,從而賦予WebRTC更多音視頻應(yīng)用能力。

吳桐將這些能力總結(jié)為六點:第一,基于UDP的網(wǎng)易云信音視頻通話功能具有流暢、低時延的特點,一般可用于在線教學、多人視頻會議等音視頻交友場景;第二,網(wǎng)易云信能夠提供基于TCP的高品質(zhì)直播能力,在秀場直播、游戲直播、大班教學等場景中優(yōu)勢明顯;第三,網(wǎng)易云信也可以將音視頻通話和直播能力相結(jié)合,提供互動直播功能,通過上麥下麥控制用戶在連麥和觀眾模式間切換;第四,可提供點播與轉(zhuǎn)碼功能,通過融合CDN實現(xiàn)海量分發(fā);第五,完整提供短視頻功能,短視頻SDK也一并俱全;第六,更豐富的場景工具,例如提供了互動白板,文檔共享等功能。

通過網(wǎng)易云信的網(wǎng)關(guān)服務(wù)器,WebRTC具備了 NRTC全面、成熟且穩(wěn)定的功能。而NRTC本身也支撐了網(wǎng)易內(nèi)外部各個客戶的海量應(yīng)用,譬如網(wǎng)易云音樂、網(wǎng)易新聞、有道精品課網(wǎng)易云課堂等。

優(yōu)化服務(wù)端QoS 追求高質(zhì)量音視頻效果

對于所有音視頻應(yīng)用來說,QoS(Quality of Service,服務(wù)質(zhì)量)策略是非常重要的一部分。

對于WebRTC Web客戶端來說,QoS策略都是內(nèi)置在瀏覽器內(nèi)部的,用戶無法直接修改相關(guān)算法,只能通過SDP配置來選擇需要開啟的QoS策略。

WebRTC網(wǎng)關(guān)服務(wù)器端,針對不同瀏覽器進行QoS方案的選擇和定制,在服務(wù)器端采用智能的NACK和PLI方案來實現(xiàn)丟包的快速重傳,移植WebRTC Native代碼里面GCC擁塞控制部分到服務(wù)端,并進行相關(guān)GCC算法的深度優(yōu)化,讓它更適用于用戶的真實網(wǎng)絡(luò)情況。

而NRTC的QoS的策略是跟場景模式相關(guān)的。網(wǎng)易云信會根據(jù)不同場景對流暢度、清晰度、網(wǎng)絡(luò)環(huán)境以及智能化的要求調(diào)整對應(yīng)的QoS策略。NRTC具備智能的FEC(Forward Error Correction,向前糾錯)策略,由于WebRTC內(nèi)置的ULP-FEC方案存在缺陷,NRTC在采用了智能FEC之后,效果相比標準WebRTC會有質(zhì)的飛躍。此外,NRTC還將FEC與NACK做深度結(jié)合,做到了重傳和恢復(fù)的最佳效率和帶寬的最佳利用。在NRTC的服務(wù)端,網(wǎng)易云信的工程師還會更多地考慮到用戶上、下行網(wǎng)絡(luò)不一致的問題。吳桐分享說:“網(wǎng)易云信傳輸層采用私有協(xié)議的方式,我們在回調(diào)網(wǎng)絡(luò)情況的時候,NRTC會做更加智能以及更加貼近真實網(wǎng)絡(luò)的反饋。針對不同用戶下行網(wǎng)絡(luò),NRTC可以選擇不同的策略,針對丟包、低帶寬等弱網(wǎng)進行適配?!?/p>

2017年,隨著微軟Edge瀏覽器和蘋果Safari瀏覽器對WebRTC的支持以及WebRTC1.0 標準的落地,WebRTC技術(shù)將在2018年迎來更大的發(fā)展空間。吳桐對于WebRTC的技術(shù)發(fā)展進行了展望和預(yù)測:首先,去年WebRTC 1.0標準的落地會讓這項技術(shù)的標準化做的越來越好,瀏覽器的兼容性問題也將會得到改善;第二,類似AV1等新的視頻編碼器會進入到WebRTC領(lǐng)域,而針對VP9的優(yōu)化還會繼續(xù),并讓WebRTC技術(shù)得到更好的呈現(xiàn);第三, 2018年標準WebRTC的 QoS方案將得到更進一步優(yōu)化;第四,WebRTC還不能對移動端瀏覽器進行很好的支持,這依然是需要改進的方面;最后,視頻識別、AI和AR等技術(shù)將會和WebRTC進行結(jié)合,在實時通訊領(lǐng)域,美顏等一些美化特效將在Web端有更多嘗試。

 

分享到

xiesc

相關(guān)推薦