亮相LiveVideoStackCon 2021,網(wǎng)易云信分享QoS優(yōu)化之道
2021年4月16日,多媒體技術(shù)領(lǐng)域盛會(huì)LiveVideoStackCon音視頻技術(shù)大會(huì)在上海舉行。本屆會(huì)議以“新技術(shù),新機(jī)會(huì)”為主題,聚焦在音頻、視頻、圖像等技術(shù)的最新探索與應(yīng)用實(shí)踐。數(shù)十位業(yè)內(nèi)知名講師與來自全國(guó)各地的音視頻工程師、多媒體工程師、圖像算法工程師、運(yùn)維與物聯(lián)網(wǎng)工程師等分享了技術(shù)創(chuàng)新與最佳實(shí)踐。
網(wǎng)易云信資深音視頻引擎開發(fā)工程師王興鶴受邀參會(huì),在“網(wǎng)絡(luò)傳輸與RTC”專題會(huì)場(chǎng)中進(jìn)行了題為《網(wǎng)易云信QoS優(yōu)化實(shí)踐》的主題演講,分享了在弱網(wǎng)環(huán)境下,提供良好音視頻傳輸服務(wù)的思路和優(yōu)化經(jīng)驗(yàn),以及云信在QoS優(yōu)化方面具體的實(shí)踐和思考,精彩的分享獲得參會(huì)者的一致好評(píng)。
如何應(yīng)對(duì)爆發(fā)式的音視頻數(shù)據(jù)增長(zhǎng)?
隨著AI和5G的到來,以及疫情的變化,音視頻數(shù)據(jù)呈現(xiàn)爆發(fā)式增長(zhǎng),音視頻應(yīng)用變得更加廣泛,人們對(duì)音視頻的品質(zhì)需求也越來越高,視頻分辨率從高清發(fā)展為超高清、VR,視頻幀率也已出現(xiàn)60fps、120fps等應(yīng)用,交互式的應(yīng)用對(duì)端到端延時(shí)也提出了更高的要求。與此同時(shí),設(shè)備的硬件性能也突飛猛進(jìn)。
可以預(yù)見,隨著5G的應(yīng)用更為普遍,網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)將會(huì)呈現(xiàn)爆發(fā)式增長(zhǎng),大量數(shù)據(jù)將會(huì)給網(wǎng)絡(luò)傳輸帶來巨大的挑戰(zhàn)——網(wǎng)絡(luò)服務(wù)提供商需要在技術(shù)層面做到對(duì)瞬息萬變的網(wǎng)絡(luò)環(huán)境有很強(qiáng)的適應(yīng)能力,需要合理利用抗丟包、抗抖動(dòng),擁塞控制等手段應(yīng)對(duì)變化的網(wǎng)絡(luò),需要在不同的網(wǎng)絡(luò)特征和用戶場(chǎng)景下充分發(fā)揮各項(xiàng)技術(shù)的優(yōu)勢(shì),揚(yáng)長(zhǎng)避短,在有限的網(wǎng)絡(luò)資源中,找到延時(shí)、畫質(zhì)、流暢三者之間的最佳平衡點(diǎn),提供良好的音視頻傳輸服務(wù)。
王興鶴在演講中認(rèn)為:“雖然網(wǎng)絡(luò)中常見的問題有丟包、抖動(dòng)、擁塞、延時(shí)等不同的分類,但這些弱網(wǎng)的分類并不獨(dú)立存在,而是會(huì)相互轉(zhuǎn)化,相互影響;另外從接收端QoE的角度來看,網(wǎng)絡(luò)問題固然會(huì)是我們分析弱網(wǎng)影響的重要部分,但音視頻鏈路中其它環(huán)節(jié)帶來的體驗(yàn)上的影響也不容小覷。為了給用戶帶來良好的音視頻體驗(yàn),QoS優(yōu)化是整體的綜合性的優(yōu)化。”
用技術(shù)組合拳實(shí)現(xiàn)效果最大化
針對(duì)上述的一系列弱網(wǎng)問題,網(wǎng)易云信的QoS引擎采用了大量的技術(shù)手段進(jìn)行抵抗,比如重傳、FEC、GCC、Jitter Buffer等,具體闡述如下:
• FEC(前向糾錯(cuò)碼)是在發(fā)送端額外發(fā)送一些冗余數(shù)據(jù),用于抵抗網(wǎng)絡(luò)丟包。當(dāng)接收端檢測(cè)到媒體數(shù)據(jù)發(fā)生丟包時(shí),就可以利用接收到的冗余數(shù)據(jù)進(jìn)行丟包恢復(fù)。
• 重傳是當(dāng)接收端檢測(cè)到丟包時(shí)通過反饋給發(fā)送端丟包信息(NACK)進(jìn)行相應(yīng)數(shù)據(jù)的重傳,最大的好處是碼率利用率高,缺點(diǎn)是會(huì)引入額外的丟包恢復(fù)抖動(dòng),從而拉大延時(shí)。
• Jitter Buffer的作用是以最低的緩沖延時(shí)代價(jià)消除數(shù)據(jù)抖動(dòng),提供流暢的播放幀率,也就是說,在解碼之前的任何環(huán)節(jié)引入的數(shù)據(jù)抖動(dòng),都會(huì)匯總到Jitter Buffer模塊處理抖動(dòng)消除。
除了重傳、FEC等常規(guī)手段之外,長(zhǎng)期參考幀技術(shù)打破了傳統(tǒng)的向前一幀的參考規(guī)則,可以更加靈活地選擇參考幀;在有丟包的場(chǎng)景下,接收端不需要等待丟包恢復(fù)也能繼續(xù)顯示畫面,其最大的好處是低延時(shí),不需要等待重傳恢復(fù),但是帶來了壓縮率的犧牲,在相同碼率下表現(xiàn)為圖像質(zhì)量的犧牲;但長(zhǎng)期參考幀比較適合1V1的場(chǎng)景,而多人場(chǎng)景時(shí),需要大小流和SVC發(fā)揮作用,在帶寬不足時(shí),不同用戶對(duì)清晰優(yōu)先和流暢優(yōu)先的需求不一樣,SVC和大小流提供了靈活的機(jī)制滿足不同應(yīng)用的需求。
而具體到應(yīng)用場(chǎng)景時(shí),王興鶴說:“我們要注意到不同應(yīng)用場(chǎng)景的需求,比如通信場(chǎng)景更多的是用FEC,重傳作為輔助,提升實(shí)時(shí)性。直播場(chǎng)景更多是用重傳,F(xiàn)EC作為輔助,提升清晰度。”
這意味著,每一種技術(shù)都有各自的優(yōu)點(diǎn)和不足,在解決主要問題的同時(shí),可能會(huì)帶來不同的收益降低;在不同的應(yīng)用場(chǎng)景下,對(duì)于技術(shù)的選擇也有不同要求。因此,僅僅支持了這些功能并不是很困難,困難的是如何調(diào)試優(yōu)化各個(gè)模塊的相關(guān)參數(shù),讓各個(gè)功能相互配合。
經(jīng)過一系列綜合優(yōu)化后,網(wǎng)易云信的音視頻通話可以做到端到端延時(shí)小于 200 ms,最高可抗 1000 ms 網(wǎng)絡(luò)抖動(dòng),在網(wǎng)絡(luò)丟包 70% 時(shí)仍能正常通話。
制定差異性策略 持續(xù)優(yōu)化
在王興鶴看來,QoS的優(yōu)化是個(gè)長(zhǎng)期持續(xù)的過程,主要體現(xiàn)在三個(gè)方面:
首先,是各類算法還需要不斷的升級(jí),F(xiàn)EC、重傳、Jitter Buffer、Neteq、GCC等都需要進(jìn)一步地精細(xì)化,并結(jié)合AI技術(shù)和反饋機(jī)制,適應(yīng)不同網(wǎng)絡(luò)的情況。
其次,要理解不同場(chǎng)景、不同用戶的個(gè)性化需求,細(xì)分服務(wù)的顆粒度,提供更加差異化的產(chǎn)品和服務(wù)。例如1v1場(chǎng)景大多是交互性的應(yīng)用,因此對(duì)延時(shí)和流暢要求較高;而多人場(chǎng)景中又可以細(xì)分1vN、NvN等,多人會(huì)議中,網(wǎng)絡(luò)中傳輸流的數(shù)量將呈指數(shù)型上升,對(duì)算法和整體穩(wěn)定性提出了更高的挑戰(zhàn)。不同的場(chǎng)景的需求有明顯的特征,我們需要將這些特征跟我們的算法和架構(gòu)深度關(guān)聯(lián),將一些損失和收益的平衡做到極致,提供最高性價(jià)比的服務(wù)。
最后,要注意數(shù)據(jù)結(jié)果對(duì)產(chǎn)品迭代和優(yōu)化的驅(qū)動(dòng),不能只是在理論層面做得很完善,還要結(jié)合實(shí)際執(zhí)行效果的觀測(cè)來建立閉環(huán)的反饋和優(yōu)化機(jī)制。
這也是網(wǎng)易云信QoS引擎迭代升級(jí)的思路:對(duì)大部分場(chǎng)景,或者大部分指標(biāo)都有優(yōu)化技術(shù)的項(xiàng)目,那就相對(duì)簡(jiǎn)單,可以全面鋪開落地;而對(duì)于有得有失的技術(shù)優(yōu)化,首先需要做大量的對(duì)比測(cè)試、驗(yàn)證,盡可能得出各種情況下的實(shí)驗(yàn)室理論結(jié)果;其次要求所有已發(fā)版的相關(guān)功能參數(shù)可控,結(jié)合線上實(shí)際的觀測(cè)數(shù)據(jù),做數(shù)據(jù)挖掘和綜合分析,形成數(shù)據(jù)驅(qū)動(dòng)下的閉環(huán)效應(yīng),線上數(shù)據(jù)一方面可以驗(yàn)證實(shí)驗(yàn)室的測(cè)試結(jié)果,另一方面可進(jìn)一步指導(dǎo)后續(xù)優(yōu)化工作。
“QoS優(yōu)化最大的困難是如何把握各項(xiàng)資源的平衡,并尋找到最佳平衡點(diǎn)“,王興鶴總結(jié)說,這也是網(wǎng)易云信Qos引擎在進(jìn)行的深層次的QoS優(yōu)化工作——基于場(chǎng)景的優(yōu)化,制定差異化的策略適應(yīng)不同的場(chǎng)景,并不斷迭代優(yōu)化。