时间:2016-06-24 10:16 文章来源:http://www.lunwenbuluo.com 作者:徐跃伟 点击次数:
摘要:随着智慧城市、平安城市概念的提出和发展,对于音视频监控和相关网络设备的需求不断增多,产品也不断推陈出新,对于这类设备的测试也提出了更多的要求。以常见的视频延时、音频延时以例,从时域角度和频域角度两个方面,介绍了相关的软硬件测试工具,并提出相应的延时测试方法并分析其优劣。
关键词:音频延时;视频延时;测试工具;时域分析;频域分析
引言
网络延时主要是指一个图像数据从前端的网络摄像机采集完成传输到后端,用户通过监视器观看到图像的时间差[1]。视频延时往往取决于编码效率、传输链路及设备、解码设备性能等几个因素,其中网络摄像机编码方式、传输线路质量、交换机或路由器的性能、解码器效率等影响尤为明显。在网络设备新产品测试中,往往涉及到设备的视频时延、音频时延等技术指标,如何快速、准确的测试是摆在我们面前的一个新课题。本文从时域和频域两个角度对响应时间测试展开探讨。
1时域分析
响应时间的测试,一般首先想到的是从时间的度量中获取,其基本思想是记录延时的起止时间,其差值即为相应时延。以下探讨具体实现方法。
1.1修改源代码测试方法
可以考虑在源代码中插入开始和结束时间戳,其差值即为响应时间。从易用性角度考虑,可以选择在程序界面中直接计算显示响应时间耗时。亦可考虑在输出日志中打印各时间戳,再手动计算响应时间耗时。本方法优点在于测试结果比较快速直观。缺点是需要审核测试程序,确定开始时间戳或结束时间戳是否合理,是否存在理解偏差;另外需要手工多次测量取平均值,增加了测试时间和资源消耗。
1.2测试工具及测试方法
采用外部测试工具测量响应时间,分为软件测试工具和硬件测试工具。
1.2.1采用软件测试工具
采用第三方专用软件测试工具,对某个事务或页面的响应时间进行测试度量,较常见的商用有:HP的Loadrunner、IBM的RationalTestWorkbench,开源的有ApacheJMeter、Wireshark、ApacheBench(ab),以及浏览器自带的测试工具如Firefox的Firebug、Google的ChromeDevTools等。采用商用或开源软件测试工具时,如Loadrunner,需在相应待考察事务前后插入开始和结束事务,然后单用户或多并发用户迭代运行多次取平均值获得事务平均响应时间,其优点在于功能强大,支持多用户并发,缺点是费用高且对测试人员要求高。图1为事务响应时间与并发用户关系图。
采用浏览器自带的程序支持HTTP客户端进行测试,可快速查看各页面响应时间;缺点是仅支持单用户。如图2所示,在Firefox浏览器中,通过F12功能键打开网络功能,可记录访问某网站首页时相关页面的耗时情况。
1.2.2采用硬件测试工具
硬件测试工具包括:数字示波器、Fluke网络延时工具等。可通过观察输入方波波形和输出方波波形,在同一起始时间轴中对两图形进行叠加,即可获得时延情况,如图3所示。
1.3其他较简便测试方法
1.3.1Ping命令测试法
网络传输特性主要归纳为三个指标:延迟,抖动和丢包[2]。常见的测试网络延时的方法有Ping命令测试方法。用ping命令可以得到平均延时、最大延时、最小延时、丢包率等指标,需在DOS命令行中输入命令:ping115.239.211.112-t(表示连续的对该IP地址执行Ping命令,直到被用户以Ctrl+C中断)。对于大多数设备,可通过定时统计方式计算网络延时。假设发送报文时间为t1,得到响应报文时间为t2,则网络延时Δt=(t2-t1)/2(含程序处理延时)[3]。
1.3.2视频延时测试方法
如何减少网络视频传输延时是智慧城市建设中非常重要的课题。问题的关键在于先度量网络视频延时值,这里提供一种比较简单的测试网络视频延时的方法:首先必须在本地播放含有准确走动的数字毫秒表的采集视频源,通过相关视频采集终端系统进行视频传输,在视频接收端查看传输过来的视频图像,将采集源和接收终端显示在同一屏幕中;然后定时(比如5秒)截屏,查看同一图片中两个毫秒表的时间差,其平均值即为局域网或者广域网的延时。本方法优点是将发送时间和接收时间统一在一个终端中记录,充分利用了计算机系统本身的时钟系统,较好地解决了时间统一的问题[4],只要在线秒表走动准确即可获得网络平台的精确时延。图4为对某网络视频聊天平台的时延进行测试的截图。
2频域分析
前文我们从时域角度对响应时间的测试作了分析,下面我们再从频域角度作分析。本地视频流和远程播放端视频流存在相关关系,可从频域进行相关性分析,得到比较精确的视频延时。音频延时测试方法测试原理同视频延时测试方法,因为音频差无法肉眼直接判断,故转换角度,不从时域分析,改为从频域分析,将两段音频进行相关性分析,得到频谱函数,将相关性最大的峰值之间的距离即为音频的延时。
陈梁等在《基于自相关的音频传输系统延时检测方法》一文中提到了一种音频传输系统延时测试方法,该音频传输系统延时检测方法能有效地检测100ms以上的延时,并且不需要专业的设备,就能较为准确地得到延时数据。并且该检测方法与音频传输系统的内部结构无关,不考虑音频是如何采样、编码、传输,只考虑音频的输入与经过系统后的输出,因此该检测方法具有良好的普适性,对于任何类型的音频传输系统都能检测延时[5]。
我们使用一台独立的计算机同时录制说话人说出的语音信号与经设备(单兵或手机)编码、平台转发、客户端软件(手机)解码、播放后播放出的音频信号,并对已录制下来的音频数据做自相关处理。根据自相关原理,相关曲线将会出现两个较为明显的峰值,第一峰值与第二峰值间的距离即为该语言信号延时的时间参考量。延时时间=(第二峰值横坐标-第一峰值横坐标)/采样频率。在本次测试中,我们的采样频率为8000Hz。延时时间=(第二峰值横坐标-第一峰值横坐标)/8000(s)。本次测试第一峰值横坐标为40000。对应的matlab代码:
从图5可以看出,对第二个峰值放大处理后,即可获得最大值所对应的频点值;通过多次测量可获得较为精确的音频平均时延。
3结束语
本文从时域分析和频域分析两方面对网络延时测试方法进行了介绍,同时对修改源代码测试法、软件测试工具测试法、硬件测试工具测试法、Ping命令测试法、视频延时测试法、音频自相关测试法等时延测试方法,给出了具体操作方法,分析了其优劣,基本涵盖了时延测试的通用测试方法。
参考文献(References):
[1]浅析网络视频监控系统延时的三大原因.http://www.asmag.com.cn/tech/ap-48750.shtml(2011/12/30)
[2]桂振文.无线网络视频评估系统[D].武汉理工大学硕士学位论文,2009.5.
[3]尹元,唐志军,陈思嘉,见伟,蒋金龙.基于现有通信模式的变电站设备时问质量检测方案[J].电力与电工,2013.33(1):21-23
[4]潘少明,李锐,喻占武.基于H.324协议的可视电话延时测试的一种方法[J].计算机工程与应用,2003.18:38-40
[5]陈梁,孟利民,应颂翔.基于自相关的音频传输系统延时检测方法[J].实验室研究与探索,2013.32(11).
联系方式
随机阅读
热门排行