直播测试之Network Emulator 网络模拟工具使用
在用戶眼中,優(yōu)秀的音視頻產(chǎn)品應(yīng)該具有清晰、低延時(shí)、流暢、秒開、抗丟包、高音效等特征。為了滿足用戶以上要求,通過哪些方法可以對(duì)安卓端的音視頻進(jìn)行優(yōu)化?網(wǎng)易高級(jí)測試工程師酈潔萍將為您進(jìn)行一一介紹。
1、網(wǎng)易云信音視頻SDK產(chǎn)品介紹
網(wǎng)易云信主要有四款音視頻產(chǎn)品,有實(shí)時(shí)音SDK、直播SDK、播放SDK以及短視頻SDK。實(shí)時(shí)音SDK主要覆蓋安卓、IOS、PC、Mac、Web端;直播和播放SDK主要覆蓋安卓、IOS、PC、Web端;短視頻SDK主要覆蓋安卓以及IOS端;
在用戶眼中,優(yōu)秀的音視頻產(chǎn)品應(yīng)該具有清晰、低延時(shí)、流暢、秒開、抗丟包、高音效等特征。為了滿足用戶以上要求,網(wǎng)易云信的工程師通過自建源站,在SDK端為了適應(yīng)網(wǎng)絡(luò)優(yōu)化進(jìn)行QoS優(yōu)化,對(duì)視頻編碼器進(jìn)行優(yōu)化,同時(shí)對(duì)音頻算法進(jìn)行優(yōu)化。
2、弱網(wǎng)環(huán)境測試
網(wǎng)易云信直播項(xiàng)目上線后,出現(xiàn)了音視頻卡頓的問題,音視頻卡頓現(xiàn)象通常出現(xiàn)在網(wǎng)絡(luò)條件不是特別理想的情況,一般直播畫面頻繁出現(xiàn)緩沖標(biāo)志或者直播畫面一卡一卡的現(xiàn)象。
造成直播視頻卡頓的原因:1、 CDN 節(jié)點(diǎn)覆蓋不全:CDN服務(wù)器覆蓋不足導(dǎo)致區(qū)域卡頓、運(yùn)營商覆蓋力度不足導(dǎo)致區(qū)域性卡頓;2、 CDN 接流節(jié)點(diǎn)不佳:主播上行推流卡頓導(dǎo)致直播卡頓;3、 主播網(wǎng)絡(luò)差:數(shù)據(jù)上傳受阻;4、觀眾網(wǎng)絡(luò)差: 數(shù)據(jù)下行受阻;
分析解決策略:1、 CDN節(jié)點(diǎn)覆蓋不全:接入多家CDN節(jié)點(diǎn),盡可能覆蓋全球網(wǎng)絡(luò);2、 CDN接流節(jié)點(diǎn)不佳:自建源站;3、 主播網(wǎng)絡(luò)差:SDK開發(fā)對(duì)QoS上行調(diào)整;4、觀眾網(wǎng)絡(luò)差:SDK開發(fā)對(duì)QoS下行調(diào)整;
測試需求:直播端QoS測試;
測試難點(diǎn):
1、 如何實(shí)現(xiàn)低成本、高效率的弱網(wǎng)環(huán)境?
2、 怎樣的網(wǎng)絡(luò)才是導(dǎo)致用戶卡頓的弱網(wǎng)環(huán)境?
3、 弱網(wǎng)優(yōu)化參數(shù)這么多,如何高效提取分析數(shù)據(jù)?
4、 測試完了,怎么可以快速提供簡潔清晰的結(jié)果給開發(fā)?
弱網(wǎng)測試工具:弱網(wǎng)損傷儀、network emulator、fiddler、tc;
弱網(wǎng)損傷儀成本比較高,使用復(fù)雜;network emulator是微軟的開源工具,可以實(shí)現(xiàn)帶寬、丟包、延時(shí)、抖動(dòng)等弱網(wǎng)參數(shù)的限制,被稱為簡易版本的弱網(wǎng)損傷儀,實(shí)現(xiàn)成本比較低, 終搭建弱網(wǎng)環(huán)境選擇的是networkemulator工具;
network emulator工具使用建議:
1、辦公環(huán)境內(nèi)使用人多時(shí),4G信號(hào)通道出現(xiàn)擁塞,雖然網(wǎng)絡(luò)上行下行帶寬足夠,但網(wǎng)絡(luò)丟包嚴(yán)重,造成限制網(wǎng)絡(luò)不穩(wěn)定的現(xiàn)象;
解決方法:開通支持開啟5G信道的無線熱點(diǎn),部分緩解網(wǎng)絡(luò)擁塞的現(xiàn)象;
2、弱網(wǎng)限制效果驗(yàn)證;
弱網(wǎng)環(huán)境參數(shù)選擇;
常見弱網(wǎng)限制參數(shù);
帶寬、丟包、延時(shí)、抖動(dòng)、綜合網(wǎng)絡(luò);
具體數(shù)值選擇方法:
第一步:逼近法,對(duì)上述限制參數(shù)從由高到低、由低到高給出范圍;
第二步:業(yè)界標(biāo)準(zhǔn)和產(chǎn)品需求去反向要求開發(fā)優(yōu)化的力度;
第三步:通過大數(shù)據(jù)篩選用戶卡頓場景數(shù)據(jù),覆蓋用戶出現(xiàn)卡頓的場景;
弱網(wǎng)測試常用參數(shù):
?
?
測試常用高清視頻分辨率為640*480,一般要求碼率為800kbps以上,帶寬限制一般設(shè)置為三擋, 800kbps、600 kbps以及400 kbps;丟包會(huì)設(shè)置5%、3%、1%;延時(shí)會(huì)設(shè)置300ms、200ms、100ms 等限制;綜合網(wǎng)絡(luò)情況是將帶寬、丟包以及延時(shí)進(jìn)行結(jié)合的參數(shù);為了監(jiān)控用戶實(shí)際使用的一些情況,也會(huì)進(jìn)行一些4G、3G網(wǎng)絡(luò)的覆蓋;
測試流程:
開發(fā)提交測試之后,測試會(huì)針對(duì)入網(wǎng)效果進(jìn)行簡單測試,針對(duì)網(wǎng)絡(luò)場景發(fā)現(xiàn)的bug返回給開發(fā)繼續(xù)優(yōu)化,開發(fā)優(yōu)化完成之后傳給測試,測試將結(jié)果再傳給開發(fā)進(jìn)行詳細(xì)優(yōu)化,過程需要反復(fù)進(jìn)行,下圖為測試開始進(jìn)行的環(huán)境圖:
?
?
直播與播放連接在同一個(gè)Wifi下面,用network emulator進(jìn)行弱網(wǎng)限制,直播與播放都是從CDN拉流,然后獲取直播和播放端一些音視頻相關(guān)的統(tǒng)計(jì)數(shù)據(jù),在播放端通過觀測方式主觀評(píng)測優(yōu)化效果。
測試效率分析:
1、 Android 端數(shù)據(jù)手工收集;
2、 數(shù)據(jù)導(dǎo)入excel分析,耗時(shí)間;
3、 測試工作量比較大;
解決策略:
1、 Android 端開發(fā) MCN 性能數(shù)據(jù)收集以及日志分析工具;
2、 測試工具平臺(tái)接收來自Android端的數(shù)據(jù),進(jìn)行數(shù)據(jù)匯總分析;
MCN Android 端:提供設(shè)備性能數(shù)據(jù)上傳,包括CPU占用率、內(nèi)存占用率、電量等數(shù)據(jù),SDK統(tǒng)計(jì)數(shù)據(jù)上傳,輔助弱網(wǎng)測試、視頻測試等的開展。
實(shí)現(xiàn)原理:利用Android的系統(tǒng)API獲取系統(tǒng)性能參數(shù)getProcessMemoryInfo,讀取SDK存儲(chǔ)在本地的日志,通過HTTP接口上傳到測試工具平臺(tái)展示。
測試工具平臺(tái):支持解析日志文件和HTTP請(qǐng)求,利用highcharts作圖,提供數(shù)據(jù)對(duì)比分析作圖并且保存功能,大大降低了測試完成之后數(shù)據(jù)整理作圖分析的工作量,給開發(fā)提供了 為直觀的測試結(jié)果。
測試執(zhí)行:
測試結(jié)果展示:
?
?
上圖中的藍(lán)色線是實(shí)際帶寬,黑色線代表的是評(píng)估帶寬,從aos-1108-1這個(gè)圖可以看出評(píng)估以及實(shí)際占用的帶寬是非常接近的,通過這個(gè)圖開發(fā)可以了解優(yōu)化的效果,測試可以了解測試的結(jié)果。
3、視頻測試
用戶在視頻實(shí)際使用過程中會(huì)發(fā)現(xiàn),網(wǎng)絡(luò)以及設(shè)備一致時(shí),有些主播視頻可以更加清晰;有些主播動(dòng)態(tài)的圖片會(huì)模糊,出現(xiàn)馬賽克的情況;有些主播畫面看起來比較細(xì)膩,甚至主播的毛孔都可以清晰看到,而有些主播看起來畫面是模糊的;這就需要開發(fā)通過替換編碼器的一些算法或者做一些參數(shù)的調(diào)優(yōu)對(duì)編碼器進(jìn)行優(yōu)化;
安卓端視頻測試方面會(huì)影響的因素包括:拍攝場景、編碼參數(shù)、設(shè)備性能、安卓兼容性以及網(wǎng)絡(luò)。
?
?
前期的視頻測試主要依靠主觀評(píng)估,通過人肉眼查看編碼的不同序列,運(yùn)動(dòng)劇烈的畫面看馬賽克、復(fù)雜的畫面需看細(xì)節(jié)、錄屏密集文字看邊緣銳度等等;客觀評(píng)估需要用PSNR。
?
?
PSNR評(píng)估是對(duì)編碼器性能的評(píng)估,在排除網(wǎng)絡(luò)影響的情況下,依賴一些視頻序列評(píng)估編碼器的編碼質(zhì)量。
同時(shí)視頻測試還需要看一下碼率控制,看一下輸出碼率是否符合設(shè)置給編碼器的碼率;視頻測試還需要考慮移動(dòng)端設(shè)備的性能,相同編碼參數(shù)下的CPU、內(nèi)存的占比情況;
測試執(zhí)行:
?
?
測試環(huán)境會(huì)用到MCN Android端去搜集實(shí)時(shí)音A端和實(shí)時(shí)音B端的數(shù)據(jù),需要用network emulator模擬一些網(wǎng)絡(luò)參數(shù)的影響,然后去測試工具平臺(tái)上進(jìn)行評(píng)估。
4、音頻優(yōu)化測試
音頻決定了70%的用戶體驗(yàn),雖說用戶對(duì)畫面的直觀感受是以看為主,以聽為輔。如果說一個(gè)主播在直播時(shí)只有畫面沒有聲音,這將直接影響用戶體驗(yàn);如果主播直播時(shí)聲音斷斷續(xù)續(xù),或者主播聲音質(zhì)量較低,都會(huì)影響直播的質(zhì)量。
在音頻方面面臨的挑戰(zhàn)有:音頻編碼器,不同的音頻編碼器有Opus,AAC等,這些編碼器里面的部分算法不太一樣,其中包括對(duì)音頻的處理,對(duì)聲音峰值的處理,對(duì)網(wǎng)絡(luò)參數(shù)的應(yīng)對(duì),它的處理方式不太一樣。實(shí)時(shí)音端的編碼器用的是Opus,Opus相對(duì)于AAC來說,編碼碼率會(huì)更低,能夠提供一些更高質(zhì)量的音頻體驗(yàn);網(wǎng)絡(luò)對(duì)音頻體驗(yàn)也有影響,無論音頻還是視頻都會(huì)受網(wǎng)絡(luò)的影響;回聲消除對(duì)音頻體驗(yàn)也有影響,如果沒有回聲消除,用戶的音頻體驗(yàn)會(huì)相對(duì)較差;嘯叫以及安卓設(shè)備的差異都會(huì)對(duì)音頻質(zhì)量產(chǎn)生影響。
音頻質(zhì)量的評(píng)估
音頻從IP電話開始發(fā)展,音頻的技術(shù)處理已經(jīng)相對(duì)成熟,同時(shí)對(duì)音頻的測試技術(shù)也相對(duì)成熟,目前有較多付費(fèi)軟件可以實(shí)現(xiàn)對(duì)音頻質(zhì)量的評(píng)估,包括VQT等;
VQT:語音質(zhì)量客觀評(píng)估工具,可以包括 POLQA(ITU-T P.863),PESQ(ITU-TP.862),PESQ LQ / LQO(P.862.1),PESQ WB(P.862.2),PAMS(ITU-T P.800)和PSQM / PSQM +(ITU-TP.861)等音頻質(zhì)量的評(píng)估;
目前網(wǎng)易云信使用VQT中的POLQA來評(píng)估網(wǎng)絡(luò)變化對(duì)音頻的影響,該評(píng)估主要使用了MOS分值,這是衡量通信系統(tǒng)語音質(zhì)量的重要指標(biāo),5分為評(píng)估的最高分;
安卓端的覆蓋策略首先會(huì)提供一個(gè)線上數(shù)據(jù)收集平臺(tái),根據(jù)不同的手機(jī)型號(hào)提交測試需求,也會(huì)挑選市面上TOP20的機(jī)型去做覆蓋,也會(huì)挑選一些用戶反映問題最多的機(jī)型去做一些針對(duì)性測試覆蓋;
VQT中POLQA的環(huán)境配置
?
?
優(yōu)化后的POLQA環(huán)境配置:
?
?
優(yōu)化后的POLQA環(huán)境配置可以對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行評(píng)估,對(duì)數(shù)據(jù)進(jìn)行整合,實(shí)現(xiàn)多組數(shù)據(jù)的對(duì)比,實(shí)現(xiàn)自動(dòng)化結(jié)果的展示。
總結(jié)
以上是生活随笔為你收集整理的直播测试之Network Emulator 网络模拟工具使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度强化学习-稀疏奖励及模仿学习-笔记(
- 下一篇: C9800系列思科无线控制器