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