帶你脫離視頻測試的坑

本文由雲+社區發表

做者:騰訊雲視頻網絡

小編此次分享主要是視頻相關的專項測試,音頻相關的暫不涉及。ide

咱們直接切入正題,關於視頻通話質量對比,須要一些對比項,這裏是從如下5個方面進行數據對比:碼率、幀率、分辨率、清晰度、時延。工具

接下來我分別介紹一下這5個方面。性能

測試

碼率動畫

數據傳輸時單位時間內傳送的數據位數,單位是kbps,即千位每秒。碼率越高對應着傳輸能力越強,視頻精度會越高。編碼

幀率spa

幀率是用於測量顯示幀數的量度,簡稱fps。每秒的幀數表示處理器處理時每秒鐘可以更新的次數,高的幀率能夠獲得更流暢、更逼真的動畫。3d

分辨率/清晰度code

這個兩個指標表明着視頻畫面的清晰程度,越高的話,給用戶的畫面就越清晰,用戶體驗會越好。清晰度的單位:LW/PH

時延

即實時性,簡單來講就是兩我的通話,本端說了一句話,對端需等待一段時間才能收到。單位通常用毫秒(ms)表示。

img

介紹完這些指標,接下來切入正題,這些數據在手機上,如何獲取。

img

首先,在雙人視頻通話鏈接好後,在非純淨態畫面頂部會出現名字,在名字上點擊5下,會彈出一段log,這個log是開發爲了好分析問題所特地加的,這裏面就包含了咱們所須要的3個數據,分辨率,幀率以及碼率。

img

img

img

img

img

img

img

雙人視頻通話log

img

紅色框框裏面的即爲咱們要的3個數據,須要看本端的分辨率,碼率,幀率,則須要找到Enc這個字段(Enc表明編碼端,即本端;Dec表明解碼端,即對端),後面對應的依次爲分辨率,碼率和幀率。

測試時,須要等待視頻通話穩定一段時間,取的數據纔有意義,取最大、最小值都意義不大。視頻通話分別率剛開始可能會低一些,等網絡穩定後視狀況,應該會增長分辨率,因此取的分辨率須要等穩定後再取。幀率和碼率也同樣,穩定後取平均值。

上面說了手機APP分辨率、碼率、幀率的測試方法,接下來講一下時延和清晰度。視頻清晰度,本該用一個動態的視頻進行分析,這裏因爲條件有限,採起的是等視頻穩定後,互相截圖,而後用專業的清晰度計算工具,算出圖片的清晰度值,咱們認爲這個值就是該機型視頻通話的清晰度。

視頻專項測試方法

視頻清晰度測試方法

img

具體操做以下:在音視頻實驗室,有專門的設備。兩臺手機視頻通話後,一臺手機切換至前攝像頭,點出log後,放在架子上,另外一臺手機關掉本端攝像頭;架子上的手機分辨率穩定後,另外一端手機直接截圖,這張圖就是用來計算架子上的手機的分辨率的。

有專門的計算工具Imatest進行計算,計算方法這裏就不展開來講了。兩部手機對調,就能夠互相取得分辨率了。這裏有個問題,即清晰度計算軟件是和截圖的質量也有關係,不一樣機型互測的時候,截圖效果也是不同的,這裏是有可能會影響清晰度的最終計算結果的,這裏尚未想到比較好的解決辦法;但同機型互通則不存在該問題。

時延測試方法

img

電腦上打開一個在線秒錶,開始計時後。兩臺手機固定在屏幕前,通話後,穩定一段時間後,拿起第三部手機拍照,便是時延,這裏拍照15次,計算差值後取平均值,即爲時延。

到此,手機APP五項性能數據測試方法就所有介紹完成;接下來介紹同類型的產品視頻通話,這5項數據須要如何獲取。想要獲得碼率、幀率、分辨率這些數據只能經過一些其餘方法。

01

首先是碼率,這裏須要抓包看。準備mac機,確保mac機上有Xcode,手機連上mac後,打開Xcode後,點擊window-Device and Simulators,找到identifier,後面的設備標識複製一下,看這裏

img

02

打開mac機的cmd,輸入rvictl -s 手機標識,回車後便可,此時輸入rvictl -l,便可查到已添加的設備。

img

03

打開Wireshare,找到rvio端口,雙擊後,進入rvio端口,點擊Statistics-I/O Graph。

img

img

img

04

裏面須要調整一下參數,就能夠出現對方碼率了,首先要先添加一行參數,即上圖左下角的「+」號,點擊「+」號後,在Enabled打上勾,而後Graph Name修改一下,Y Axis改爲Bits,Interval改爲1 sec。最後就要修改一下Display Filter,這個參數是用來過濾的,當你須要獲取連着電腦的這部手機的碼率是,你須要輸入ip.src==X.X.X.X and udp;當你須要獲取對端的碼率時(即非鏈接mac的那臺手機),須要輸入ip.dst==X.X.X.X and udp。

此文已由騰訊雲+社區在各渠道發佈

獲取更多新鮮技術乾貨,能夠關注咱們騰訊雲技術社區-雲加社區官方號及知乎機構號

相關文章
相關標籤/搜索