如何作好 Android 端音視頻測試?

在用戶眼中,優秀的音視頻產品應該具備清晰、低延時、流暢、秒開、抗丟包、高音效等特徵。爲了知足用戶以上要求,網易雲信的工程師經過自建源站,在SDK端爲了適應網絡優化進行QoS優化,對視頻編碼器進行優化,同時對音頻算法進行優化。算法

推薦閱讀服務器

短視頻技術詳解:Android端的短視頻開發技術

如何快速實現移動端短視頻功能?

 

弱網環境測試網絡

 

網易雲信直播項目上線後,出現了音視頻卡頓的問題,音視頻卡頓現象一般出如今網絡條件不是特別理想的狀況,通常直播畫面頻繁出現緩衝標誌或者直播畫面一卡一卡的現象。ide

形成直播視頻卡頓的緣由:工具

一、CDN 節點覆蓋不全:CDN服務器覆蓋不足致使區域卡頓、運營商覆蓋力度不足致使區域性卡頓;性能

二、CDN 接流節點不佳:主播上行推流卡頓致使直播卡頓;測試

三、主播網絡差:數據上傳受阻;大數據

四、觀衆網絡差: 數據下行受阻;優化

 

分析解決策略:編碼

一、CDN節點覆蓋不全:接入多家CDN節點,儘量覆蓋全球網絡;

二、CDN接流節點不佳:自建源站;

三、主播網絡差:SDK開發對QoS上行調整;

四、觀衆網絡差:SDK開發對QoS下行調整;

 

測試需求:直播端QoS測試;

 

測試難點:

一、如何實現低成本、高效率的弱網環境?

二、怎樣的網絡纔是致使用戶卡頓的弱網環境?

三、弱網優化參數這麼多,如何高效提取分析數據?

四、測試完了,怎麼能夠快速提供簡潔清晰的結果給開發?

 

弱網測試工具:

弱網損傷儀、network emulator、fiddler、tc;

弱網損傷儀成本比較高,使用複雜;network emulator是微軟的開源工具,能夠實現帶寬、丟包、延時、抖動等弱網參數的限制,被稱爲簡易版本的弱網損傷儀,實現成本比較低,最終搭建弱網環境選擇的是networkemulator工具;

network emulator工具使用建議:

一、辦公環境內使用人多時,4G信號通道出現擁塞,雖然網絡上行下行帶寬足夠,但網絡丟包嚴重,形成限制網絡不穩定的現象;

解決方法:開通支持開啓5G信道的無線熱點,部分緩解網絡擁塞的現象;

二、弱網限制效果驗證;

弱網環境參數選擇;

常見弱網限制參數;

帶寬、丟包、延時、抖動、綜合網絡;

具體數值選擇方法:

第一步:逼近法,對上述限制參數從由高到低、由低到高給出範圍;

第二步:業界標準和產品需求去反向要求開發優化的力度;

第三步:經過大數據篩選用戶卡頓場景數據,覆蓋用戶出現卡頓的場景;

弱網測試經常使用參數:

 

 

測試經常使用高清視頻分辨率爲640*480,通常要求碼率爲800kbps以上,帶寬限制通常設置爲三擋,800kbps、600 kbps以及400kbps;丟包會設置5%、3%、1%;延時會設置300ms、200ms、100ms等限制;綜合網絡狀況是將帶寬、丟包以及延時進行結合的參數;爲了監控用戶實際使用的一些狀況,也會進行一些4G、3G網絡的覆蓋;

測試流程:

開發提交測試以後,測試會針對入網效果進行簡單測試,針對網絡場景發現的bug返回給開發繼續優化,開發優化完成以後傳給測試,測試將結果再傳給開發進行詳細優化,過程須要反覆進行,下圖爲測試開始進行的環境圖:

直播與播放鏈接在同一個Wifi下面,用network emulator進行弱網限制,直播與播放都是從CDN拉流,而後獲取直播和播放端一些音視頻相關的統計數據,在播放端經過觀測方式主觀評測優化效果。

測試效率分析:

一、Android 端數據手工收集;

二、數據導入excel分析,耗時間;

三、測試工做量比較大;

解決策略:

一、Android 端開發 MCN 性能數據收集以及日誌分析工具;

二、測試工具平臺接收來自Android端的數據,進行數據彙總分析;

MCN Android 端:提供設備性能數據上傳,包括CPU佔用率、內存佔用率、電量等數據,SDK統計數據上傳,輔助弱網測試、視頻測試等的開展。

實現原理:利用Android的系統API獲取系統性能參數getProcessMemoryInfo,讀取SDK存儲在本地的日誌,經過HTTP接口上傳到測試工具平臺展現。

測試工具平臺:支持解析日誌文件和HTTP請求,利用highcharts做圖,提供數據對比分析做圖而且保存功能,大大下降了測試完成以後數據整理做圖分析的工做量,給開發提供了最爲直觀的測試結果。

測試執行:

 

 

測試結果展現:

 

上圖中的藍色線是實際帶寬,黑色線表明的是評估帶寬,從aos-1108-1這個圖能夠看出評估以及實際佔用的帶寬是很是接近的,經過這個圖開發能夠了解優化的效果,測試能夠了解測試的結果。

 

視頻測試

 

用戶在視頻實際使用過程當中會發現,網絡以及設備一致時,有些主播視頻能夠更加清晰;有些主播動態的圖片會模糊,出現馬賽克的狀況;有些主播畫面看起來比較細膩,甚至主播的毛孔均可以清晰看到,而有些主播看起來畫面是模糊的;這就須要開發經過替換編碼器的一些算法或者作一些參數的調優對編碼器進行優化;

安卓端視頻測試方面會影響的因素包括:拍攝場景、編碼參數、設備性能、安卓兼容性以及網絡。

 

前期的視頻測試主要依靠主觀評估,經過人肉眼查看編碼的不一樣序列,運動劇烈的畫面看馬賽克、複雜的畫面需看細節、錄屏密集文字看邊緣銳度等等;客觀評估須要用PSNR。

 

 

PSNR評估是對編碼器性能的評估,在排除網絡影響的狀況下,依賴一些視頻序列評估編碼器的編碼質量。

同時視頻測試還須要看一下碼率控制,看一下輸出碼率是否符合設置給編碼器的碼率;

視頻測試還須要考慮移動端設備的性能,相同編碼參數下的CPU、內存的佔比狀況;

 

測試執行:

 

測試環境會用到MCN Android端去搜集實時音A端和實時音B端的數據,須要用network emulator模擬一些網絡參數的影響,而後去測試工具平臺上進行評估。

 

音頻優化測試

 

音頻決定了70%的用戶體驗,雖然說用戶對畫面的直觀感覺是以看爲主,以聽爲輔。若是說一個主播在直播時只有畫面沒有聲音,這將直接影響用戶體驗;若是主播直播時聲音斷斷續續,或者主播聲音質量較低,都會影響直播的質量。

在音頻方面面臨的挑戰有:音頻編碼器,不一樣的音頻編碼器有Opus,AAC等,這些編碼器裏面的部分算法不太同樣,其中包括對音頻的處理,對聲音峯值的處理,對網絡參數的應對,它的處理方式不太同樣。實時音端的編碼器用的是Opus,Opus相對於AAC來講,編碼碼率會更低,可以提供一些更高質量的音頻體驗;網絡對音頻體驗也有影響,不管音頻仍是視頻都會受網絡的影響;回聲消除對音頻體驗也有影響,若是沒有回聲消除,用戶的音頻體驗會相對較差;嘯叫以及安卓設備的差別都會對音頻質量產生影響。

 

音頻質量的評估

音頻從IP電話開始發展,音頻的技術處理已經相對成熟,同時對音頻的測試技術也相對成熟,目前有較多付費軟件能夠實現對音頻質量的評估,包括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分值,這是衡量通訊系統語音質量的重要指標,5分爲評估的最高分;

安卓端的覆蓋策略首先會提供一個線上數據收集平臺,根據不一樣的手機型號提交測試需求,也會挑選市面上TOP20的機型去作覆蓋,也會挑選一些用戶反映問題最多的機型去作一些針對性測試覆蓋;

VQT中POLQA的環境配置:

 

優化後的POLQA環境配置:

  

優化後的POLQA環境配置能夠對網絡參數進行評估,對數據進行整合,實現多組數據的對比,實現自動化結果的展現。

 

以上就是安卓端音視頻測試全過程,想要獲取更多產品乾貨、技術乾貨,記得關注網易雲信博客

相關文章
相關標籤/搜索