Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1556329
  • 博文数量: 290
  • 博客积分: 3468
  • 博客等级: 中校
  • 技术积分: 3461
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-28 22:21
文章分类

全部博文(290)

文章存档

2016年(13)

2015年(3)

2014年(42)

2013年(67)

2012年(90)

2011年(75)

分类: 嵌入式

2011-12-08 16:32:56

原文链接:mplayer 中收集视频播放数据

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 有关?

阅读(929) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~