Mplayer 中有 -benchmark 參數可以收集視頻播放的數據 (frame,幀,畫格)
1. 常用命令
--------------------
mplayer -benchmark foreman.avi
如果不需要視頻輸出,可以這樣:
mplayer -benchmark -vo null foreman.avi
一般情況下,我們測試某個視頻解碼器的效果,也不需要音頻的數據,則:
mplayer -nosound -vo null -benchmark foreman.avi
2. 結果分析
--------------------
foreman.avi 這段視頻播放完了,mplayer 會輸出類似如下訊息:
BENCHMARKs: VC: 97.821s VO: 0.000s A: 0.000s Sys: 7.679s = 105.500s
BENCHMARK%: VC: 92.7213% VO: 0.0000% A: 0.0000% Sys: 7.2787% = 100.0000%
第一行是以秒為單位的統計,第二行是以百分比為單位的統計。每行最後等號後面是總計。
各主要字段的含義如下:
VC: 視頻解碼所需時間
VO: 視頻輸出所需時間
A:音頻解碼所需時間
以上為用戶空間程式執行所花時間
Sys: 花在內核空間的時間
則播放該視頻數據解析如下:
視頻解碼時間為 97.821s
視頻輸出的時間為 0.000s
音頻輸出的時間為 0.000s
用於核心態代碼的時間為7.679s
總時間為 105.500s
3. 實際測試
--------------------
測試視頻使用新聞聯播報的一段,mpeg4 格式:
VIDEO: [DIV3] 720x576 24bpp 25.000 fps 944.1 kbps (115.2 kbyte/s)
AUDIO: 44100 Hz, 2 ch, s16le, 1411.2 kbit/100.00% (ratio: 176400->176400)
I. mplayer -benchmark test.avi
AO: [oss] 44100Hz 2ch s16le (2 bytes per sample)
VO: [xv] 720x576 => 720x576 Planar YV12
A: 159.7 V: 159.4 A-V: 0.267 ct: 6.984 3987/3987 121% 39% 2.9% 2251 0
BENCHMARKs: VC: 193.669s VO: 63.772s A: 4.612s Sys: 10.932s = 272.985s
BENCHMARK%: VC: 70.9451% VO: 23.3610% A: 1.6895% Sys: 4.0045% = 100.0000%
II. mplayer -benchmark test.avi -vo xvidix(使用優化過的視頻輸出組件)
AO: [oss] 44100Hz 2ch s16le (2 bytes per sample)
VO: [xvidix] 720x576 => 720x576 Planar YV12
A: 159.2 V: 159.4 A-V: -0.287 ct: -0.040 3987/3987 44% 0% 1.3% 56 0
BENCHMARKs: VC: 71.352s VO: 0.161s A: 2.062s Sys: 96.128s = 169.704s
BENCHMARK%: VC: 42.0451% VO: 0.0951% A: 1.2153% Sys: 56.6445% = 100.0000%
測試I 花費在視頻輸出上的時間為 63.772s,占總時間的 23.3610%
且因為視頻輸出的速度跟不上,造成測試視頻解碼的時間是測試II 的2倍多。
- Mar 16 Tue 2010 20:32
benchmark 在 mplayer 中分析收集播放的數據
close
全站熱搜
留言列表