本文由雲+社區發表
作者:騰訊雲視頻
小編這次分享主要是視頻相關的專項測試,音頻相關的暫不涉及。
我們直接切入正題,關於視頻通話質量對比,需要一些對比項,這里是從以下5個方面進行數據對比:碼率、幀率、分辨率、清晰度、時延。
接下來我分別介紹一下這5個方面。
▽
碼率
數據傳輸時單位時間內傳送的數據位數,單位是kbps,即千位每秒。碼率越高對應着傳輸能力越強,視頻精度會越高。
幀率
幀率是用於測量顯示幀數的量度,簡稱fps。每秒的幀數表示處理器處理時每秒鍾能夠更新的次數,高的幀率可以得到更流暢、更逼真的動畫。
分辨率/清晰度
這個兩個指標代表着視頻畫面的清晰程度,越高的話,給用戶的畫面就越清晰,用戶體驗會越好。清晰度的單位:LW/PH
時延
即實時性,簡單來說就是兩個人通話,本端說了一句話,對端需等待一段時間才能收到。單位一般用毫秒(ms)表示。
介紹完這些指標,接下來切入正題,這些數據在手機上,如何獲取。
首先,在雙人視頻通話連接好后,在非純凈態畫面頂部會出現名字,在名字上點擊5下,會彈出一段log,這個log是開發為了好分析問題所特意加的,這里面就包含了我們所需要的3個數據,分辨率,幀率以及碼率。
雙人視頻通話log
紅色框框里面的即為我們要的3個數據,需要看本端的分辨率,碼率,幀率,則需要找到Enc這個字段(Enc代表編碼端,即本端;Dec代表解碼端,即對端),后面對應的依次為分辨率,碼率和幀率。
測試時,需要等待視頻通話穩定一段時間,取的數據才有意義,取最大、最小值都意義不大。視頻通話分別率剛開始可能會低一些,等網絡穩定后視情況,應該會增加分辨率,所以取的分辨率需要等穩定后再取。幀率和碼率也一樣,穩定后取平均值。
上面說了手機APP分辨率、碼率、幀率的測試方法,接下來說一下時延和清晰度。視頻清晰度,本該用一個動態的視頻進行分析,這里由於條件有限,采取的是等視頻穩定后,互相截圖,然后用專業的清晰度計算工具,算出圖片的清晰度值,我們認為這個值就是該機型視頻通話的清晰度。
視頻專項測試方法
視頻清晰度測試方法
具體操作如下:在音視頻實驗室,有專門的設備。兩台手機視頻通話后,一台手機切換至前攝像頭,點出log后,放在架子上,另一台手機關掉本端攝像頭;架子上的手機分辨率穩定后,另一端手機直接截圖,這張圖就是用來計算架子上的手機的分辨率的。
有專門的計算工具Imatest進行計算,計算方法這里就不展開來說了。兩部手機對調,就可以互相取得分辨率了。這里有個問題,即清晰度計算軟件是和截圖的質量也有關系,不同機型互測的時候,截圖效果也是不一樣的,這里是有可能會影響清晰度的最終計算結果的,這里還沒有想到比較好的解決辦法;但同機型互通則不存在該問題。
時延測試方法
電腦上打開一個在線秒表,開始計時后。兩台手機固定在屏幕前,通話后,穩定一段時間后,拿起第三部手機拍照,即是時延,這里拍照15次,計算差值后取平均值,即為時延。
到此,手機APP五項性能數據測試方法就全部介紹完成;接下來介紹同類型的產品視頻通話,這5項數據需要如何獲取。想要得到碼率、幀率、分辨率這些數據只能通過一些其他方法。
▽
01
首先是碼率,這里需要抓包看。准備mac機,確保mac機上有Xcode,手機連上mac后,打開Xcode后,點擊window-Device and Simulators,找到identifier,后面的設備標識復制一下,看這里
02
打開mac機的cmd,輸入rvictl -s 手機標識,回車后即可,此時輸入rvictl -l,即可查到已添加的設備。
03
打開Wireshare,找到rvio端口,雙擊后,進入rvio端口,點擊Statistics-I/O Graph。
04
里面需要調整一下參數,就可以出現對方碼率了,首先要先添加一行參數,即上圖左下角的“+”號,點擊“+”號后,在Enabled打上勾,然后Graph Name修改一下,Y Axis改成Bits,Interval改成1 sec。最后就要修改一下Display Filter,這個參數是用來過濾的,當你需要獲取連着電腦的這部手機的碼率是,你需要輸入ip.srcX.X.X.X and udp;當你需要獲取對端的碼率時(即非連接mac的那台手機),需要輸入ip.dstX.X.X.X and udp。
此文已由騰訊雲+社區在各渠道發布
獲取更多新鮮技術干貨,可以關注我們騰訊雲技術社區-雲加社區官方號及知乎機構號