2020年一開年,疫情打亂了人們的節奏。買東西不能出門了,學校也不開學了,上班也home office了,在這種狀況下,直播帶貨、在線教學、視頻會議都被推上了風口浪尖。可是假如直播過程當中忽然聽不到主播聲音或者畫面,抑或者聲音和畫面效果不好,這確定是影響體驗的。那麼一款產品怎麼才能在測試階段儘量發現問題和解決問題呢?經過這篇文章,指望讓你們瞭解到音視頻關注的指標,對音視頻的評測過程有一個基本的瞭解。算法
本文主要從三個方面展開,一是音視頻測試的目的,主要說音視頻測試能解決的問題,比較通用;二是從音視頻的角度介紹怎麼作測試,包括測試維度、評價框架、總體結構和每一部分的具體內容;三是介紹這個框架的組成和實施過程當中遇到的問題。安全
在內容展開以前,先簡要介紹一下音視頻通話的基本流程:服務器
從這個簡圖中能夠看出,整個流程分爲三部分:發送、網絡、接收。網絡
發送端各個模塊的功能分別是:採集,對應麥克風和攝像頭硬件,也有多是多媒體混音或者屏幕錄製的內容;前處理,美顏你們都知道,3A可能不太熟悉,這裏是針對音視頻效果作處理的模塊。框架
編碼和解碼是一對逆過程:編碼完成後,打包發送到網絡上進行傳輸,到接收端進行後處理和解碼播放。性能
音視頻測試的目的測試
對音視頻通話的流程有了基本瞭解後,咱們說回爲何要作測試。優化
這部分其實關係着咱們爲何要作音視頻評測以及作了評測後能回答什麼問題。你們可能都會收到來自老闆的拷問,你以爲這個特性的質量怎麼樣?能具有上線的條件嗎?相信QA同窗都碰到過,你可能不是音視頻相關的質量保障同窗,可是你確定也或多或少遇到過相似的問題。編碼
總的說來是四方面的問題,作的怎麼樣?有沒有提升?提升多少?和競品差距多少?總結起來是四個字——「知己知彼」,前面三項主要是回答「知己」的問題,最後一項「知彼」,其實也是創建在「知己」的基礎之上。spa
「知己」主要是獲取到基線數據,瞭解當前現狀,這塊是基礎。在版本迭代過程當中,基於這個數據來縱向比較版本間是提升了仍是惡化了,提升或惡化了多少,是版本優化的參考。這些是對本身能力的瞭解,孫子兵法說,知己知彼百戰百勝,咱們不光要埋頭幹,還要擡頭看看路,看看別人作的怎麼樣,由於最終體現競爭力的仍是和競品之間的差距。固然這裏差距包含兩層意思,正向的差距是優點,若是是負向的就是要改進了。
對應這些問題,咱們分別須要提供哪些維度的數據做爲輔助佐證呢?
要回答這4個問題,對於視頻會議,咱們列出了多個維度的評價指標,如上表所示。
會議效果主要從基礎效果和其餘加強效果兩方面來展開,這也是視頻會議底層能力的集中體現。基礎效果包括穩定性(卡頓,閃退)、清晰度(音畫清晰,可懂)和流暢度(入會時間過長,延遲大,卡頓)等;其餘效果主要包括美顏和鏡像、背景虛化等,還有像實用性、易用性、功能完備度等都是直接影響用戶體驗的點。
除此以外,還有一些影響性能和穩定性的特性如可靠性、安全性、可維護性、可移植性、運行效率、功能的適合性等,也都對用戶體驗有着不可忽視的影響,也值得關注。
本文主要針對音視頻的效果展開。
如何進行音視頻測試
評價維度已經定好了,那麼這些維度的指標怎麼去衡量呢?說到評價框架,包含了評測的數據分類和彙總,最終從這些數據的概括和總結去回答前面的問題。
從對應不一樣的專項來區分,包括了音頻測試、視頻測試、QoS測試、性能和兼容性測試。基於這些維度適時地開展競品對比測試,則能夠比較全面的回答前述4個問題。
音頻測試主要分爲3塊,主觀測試、客觀測試和POLQA測試。
主觀測試主要是主觀聽,針對音頻算法的優化調整,關注單講、雙講場景下的回聲、音量大小以及嘯叫等異常現象,還有時延狀況,音畫同步情況;客觀測試和POLQA主要測試記錄一些客觀指標,如音頻參數(碼率,時延,音量大小和POLQA分值等),這些維度一般要覆蓋不一樣的網絡和業務場景,針對不一樣的算法調整狀況,還要考慮對不一樣設備的覆蓋測試。
視頻的評估大致也是分爲3塊,和音頻測試相似,主要包括主觀測試、客觀測試和vMOS,另外針對CoDEC還增長了離線測試。
主觀測試包括清晰度和流暢度,以及時延和音畫同步測試。客觀參數主要包括視頻相關的參數(分辨率、碼率、幀率、卡頓統計)以及MOS狀況,CODEC離線測試中涵蓋了PSNR和SSIM以及現今比較火熱的VMAF指標。
QoS測試,並不是一個單獨的評測維度,更多的能夠說是一個用戶場景的覆蓋測試。網絡是業務的承載,然而實際用戶的網絡不可能徹底理想,也沒那麼壞,最終的測試抓手其實仍是音視頻的評測指標,以此爲基礎,覆蓋不一樣的弱網和極端網絡,關注音視頻效果的同時,關注擁塞控制、帶寬探測、以及視頻模型之間的配合和調整速度。這一部分輸出網絡相關的基線和極限能力。
前面提到的音視頻評估及QoS評估,最終效果都體如今QoE上。什麼叫QoE?說白了就是用耳朵聽、用眼看。這部分直接體如今用戶體驗上,對於實時音視頻場景來講,主要包括溝通的實時性也就是端到端時延(端到端時延,首幀時間)、視頻的清晰度和流暢度、音頻的清晰度和流暢度(對音頻的可懂度直接相關)。
人不能老是低頭走路,也要擡頭看看天,產品也是同樣。咱們不光要實現本身的特性功能,也要看看對手們作得怎麼樣。由於最終決定產品好很差賣,客戶買不買帳,競爭力才最關鍵。
不少時候,若是明確的驗收標準不太容易給出,同指標和競品的對比結論是個不錯的選擇。若是能打敗對手,仍是相對成功的。若是是落了下風,那要考慮一下如何優化了。事情到這裏,看起來都很順利了,測試的框架都齊備了,直接補充數據不就能夠了嗎?可是實際上還有一些問題須要解決。
評測的維度有了,數據指標也齊備了,接下來就是收集數據了,要收集數據就要準備一套穩定的測試環境。測試環境其實就是模擬了一套端到端的實時音視頻通訊系統,包含採集,包含網絡,包含渲染和顯示,也包含觀察者(其實就是測試者),這其中的模塊都會引入測試偏差,這就是測試過程當中的坑。
先說採集。同款攝像頭幾種不一樣擺放位置的視頻畫面沒法相同,這只是採集引入偏差的一種,其餘如攝像頭採集卡頓也會對最終的用戶體驗評價形成較大影響,致使沒法確認是由於網絡致使的卡頓仍是採集的緣由。
攝像頭的不一樣擺放位置,對焦狀態以及光線狀況,攝像頭的視角和景深對畫面的範圍和渲染表現影響最大。
採集帶來的體驗效果方面的惡化包括以下:
1採集卡頓;
2採集變色和模糊;
3過曝等現象致使的圖像突變。
上圖所示是不一樣型號攝像頭接近相同的擺放位置的畫面視角差別。
網絡損傷後的視頻和攝像頭採集穩定的畫面對比,說明卡頓不是由於攝像頭引入,而是網絡抗性不足致使。提到網絡抗性,網絡的不一樣拓撲結構和波動都會影響測試結果。網絡自身的丟包和抖動都會引入額外的體驗回退,也不利於問題的跟蹤和復現,因此穩定統一的弱網模擬環境尤其重要。
基於此,引入了基於TC的弱網模擬方案(以下圖所示)。
顯示引入的偏差主要因爲顯示設備的差別致使,從這個圖中能夠明顯的看出不一樣顯示器上同一幅圖像的色溫差異很大。
音視頻最終的效果體如今端到端的體驗上,端到端的體驗最終確定是體如今人的主觀感覺上,一千個讀者心中有一千個哈姆雷特。觀測者的我的視角,當時所處的環境以及我的的心情波動都會影響到主觀效果的評判。
基於此,咱們考慮把涉及到主觀評價的場景都錄一份對比(新老版本/競品對比)的音視頻數據,留待主觀評測打分用,基於自驗的打分平臺,方便的進行線上打分。
基於以上測試框架以及問題,咱們搭建瞭如下評測框架,消除了可能引入偏差的一些模塊。
1第一部分,攝像頭(麥克風)+複用器,實現了同一路攝像頭(麥克風)採集內容被多個PC設備複用的功能,這樣每一個PC上輸入的攝像頭內容徹底同樣,也徹底同步;
2接收端的顯示經過4K視頻合路設備投射到一臺大屏4K電視上,同時能夠經過外部存儲保存一份以供備份和後續的主觀MoS環節;
3中間的網絡和媒體服務器,把他們搭成私有的環境,單獨一套測試環境使用,不受出口網絡的影響,不受實驗室到媒體服務器路徑狀況的影響,這套框架成本低廉,性價比較高。
相信這些工做作下來,從評測的維度出發,已經可以很好地回答老闆們提出來的問題了。