MPlayer Tips

来自Jack's Lab
跳转到: 导航, 搜索

1 搜集性能数据

作者: comcat 发表日期: 2007-04-24 15:30

Mplayer 中有 -benchmark 参数可以收集视频播放的数据


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. 福珑(内置龙芯2E)上实际测试

测试视频使用新闻联播报道龙梦的一段,mpeg4 格式

音视频信息 mplayer 报:

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倍多。


mplayer 默认的视频输出组件 xv ,不知是不是与 Xorg 有关?



2 mpayer 截图

mplayer -ss START_TIME -noframedrop -nosound -vo jpeg -frames N NAME_OF_VIDEO_FILE



3 获取视频时长(seconds)

mplayer -identify movie-filename -nosound -vc dummy -vo null | grep ID_LENGTH











个人工具
名字空间

变换
操作
导航
工具箱