當前位置:
首頁 > 最新 > 如何做好 Android 端音視頻測試?

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

導讀

在用戶眼中,優秀的音視頻產品應該具有清晰、低延時、流暢、秒開、抗丟包、高音效等特徵。為了滿足用戶以上要求,通過哪些方法可以對安卓端的音視頻進行優化?網易高級測試工程師酈潔萍將為您進行一一介紹。

1

網易雲信音視頻SDK產品介紹

網易雲信主要有四款音視頻產品,有實時音SDK、直播SDK、播放SDK以及短視頻SDK。實時音SDK主要覆蓋安卓、IOS、PC、Mac、Web端;直播和播放SDK主要覆蓋安卓、IOS、PC、Web端;短視頻SDK主要覆蓋安卓以及IOS端;

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

2

弱網環境測試

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

造成直播視頻卡頓的原因:

1、CDN 節點覆蓋不全:CDN伺服器覆蓋不足導致區域卡頓、運營商覆蓋力度不足導致區域性卡頓;

2、CDN 接流節點不佳:主播上行推流卡頓導致直播卡頓;

3、主播網路差:數據上傳受阻;

4、觀眾網路差: 數據下行受阻;

分析解決策略:

1、CDN節點覆蓋不全:接入多家CDN節點,儘可能覆蓋全球網路;

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

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

4、觀眾網路差:SDK開發對QoS下行調整;

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

測試難點:

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

2、怎樣的網路才是導致用戶卡頓的弱網環境?

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

4、測試完了,怎麼可以快速提供簡潔清晰的結果給開發?

弱網測試工具:弱網損傷儀、network emulator、fiddler、tc;

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

network emulator工具使用建議:

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

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

2、弱網限制效果驗證;

弱網環境參數選擇;

常見弱網限制參數;

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

具體數值選擇方法:

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

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

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

弱網測試常用參數:

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

測試流程:

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

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

測試效率分析:

1、Android 端數據手工收集;

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

3、測試工作量比較大;

解決策略:

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

2、測試工具平台接收來自Android端的數據,進行數據匯總分析;

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

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

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

測試執行:

測試結果展示:

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

3

視頻測試

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

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

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

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

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

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

測試執行:

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

4

音頻優化測試

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

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

音頻質量的評估

音頻從IP電話開始發展,音頻的技術處理已經相對成熟,同時對音頻的測試技術也相對成熟,目前有較多付費軟體可以實現對音頻質量的評估,包括VQT等;

VQT:語音質量客觀評估工具,可以包括 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-T P.861)等音頻質量的評估;

目前網易雲信使用VQT中的POLQA來評估網路變化對音頻的影響,該評估主要使用了MOS分值,這是衡量通信系統語音質量的重要指標,5分為評估的最高分;

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

VQT中POLQA的環境配置

優化後的POLQA環境配置:

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

安卓綠色聯盟會根據每期技術沙龍議題輸出精彩技術乾貨文章,分享講師PPT,為未能現場參加技術沙龍的您提供另一個乾貨學習機會。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 安卓綠色聯盟 的精彩文章:

應用安全過檢難題如何攻破?

TAG:安卓綠色聯盟 |