汪永福,张治中,何 云
(重庆邮电大学通信与测试技术重点实验室,重庆 400065)
三网融合在全国范围内的加速推进,作为突破口的IPTV业务近几年发展得如火如荼[1]。IPTV视频点播业务(VOD)的提出顺应了市场要求,不仅满足了用户实现互动点播的要求,还为运营商提供了新的增值空间[2]。
对IPTV系统业务性能进行测试是运营商在开展IPTV业务之前需要进行的一个关键步骤。目前在最后一公里范围内对VOD性能测试还只是局限于简单的侦听测试。在此基础上,笔者提出一种改进型的测试方案,实现VOD仿真测试。该方案能有效扩大VOD网络的测试范围,提高测试结果的准确性,弥补了现有测试方案的不足,因此具有重要意义。
目前业界公认的IPTV业务包含两种,即TV直播和VOD点播。IPTV网络测试也主要针对TV直播性能测试和VOD点播性能测试两个方面。TV直播业务通常采用组播方式进行传输,业务开展地较早,测试技术较成熟,业内主要有侦听和仿真两种测试手段。视频点播在网络架构和数据交互上与TV直播存在明显的差异,因此测试重点和测试方案也不尽相同。
视频点播通常采用单播传输。图1为VOD网络架构示意图。
图1 VOD网络架构
与组播数据传输的不同的是,点播要求服务器为每一个点播用户单独传输点播数据,即提供端到端的服务。IPTV视频点播网络采用CDN技术[3],将内容从中心存储服务器分发到边缘服务器,这样既保证了点播数据传输流畅,达到快速响应用户访问请求,又避免了网络带宽有限,减轻了骨干网络和中心设备的压力。用户端通过网络机顶盒(STB)接入点播网络,STB通过发起HTTP和RTSP请求,申请点播数据。服务器响应请求,通过UDP协议或RTP协议将点播数据传输给用户端。图2为点播网络交互过程示意图。
图2 VOD网络交互示意图
由于业务发展存在先后,目前业内对VOD网络性能测试只能进行简单的侦听测试。具体为:STB进行视频点播,利用集线器(Hub)对数据进行分流,提供一路数据给IPTV测试仪;IPTV测试仪通过侦听STB的点播数据,分析网络的传输性能。由于该测试方案必须依赖机顶盒的存在,主要存在如下3点弊端:
1)测试环境有限
目前的视频点播测试必须依赖STB和Hub的存在,当遇到不能提供该条件的环境时,例如外出现场测试等,目前的测试方案就显得无能为力,因此测试环境有限。
2)测试范围有限
IPTV测试仪主要对最后一公里的线路进行测试,由于目前视频点播测试方案必须依赖于STB的存在,因此不能排除STB自身的因素导致的VOD点播数据传输质量的下降,因此测试范围有限。
3)测试准确性有限
目前的视频点播测试依赖的外界设备太多,引入的外界干扰也就随之增加,这有悖于测试的宗旨。这样导致的结果是使测试准确性下降。
基于上文分析,解决目前VOD性能测试中存在的弊端的最根本方法就是摆脱对STB的依赖,尽量减少外部设备的引入,独立进行测试。一方面扩展IPTV测试仪的测试环境和测试范围;另一方面减少外界干扰的引入,提高测试精度。
本文提出一种新的测试方案,即IPTV测试仪主动发起请求获取点播数据,实现VOD仿真测试。
2.1.1 请求认证
IPTV测试仪与IPTV网络进行交互前先要经过认证。认证过程采用HTTP协议交互,其中用户名和密码等重要信息必须经过3DES加密才能上传[4]。认证成功,业务管理平台会分配一个临时身份证明用户令牌(UserToken),表示为合法用户。
2.1.2 获取点播服务器入口地址
认证通过,IPTV测试仪主动发起HTTP请求,登陆IPTV业务管理服务器EPG服务平台并获得点播服务器入口地址。
2.1.3 与点播服务器交互
IPTV测试仪主动向业务管理服务器发起请求登录点播服务器请求响应,IPTV测试仪即转向与点播服务器交互。交互类型包括HTTP交互和RTSP交互。交互内容主要包括发送请求申请数据、获取节目参数、视频TS内容分发服务器IP以及TS内容的传输方式等。其中节目参数包括ProgramID、SessionID和节目详细地址信息等。
2.1.4 与视频TS内容分发服务器交互
IPTV测试仪利用已获取的地址信息,与视频TS内容分发服务器交互,获得IPTV点播数据流。
2.1.5 视频数据的接收处理
IPTV测试仪接收视频数据到缓冲区,并实时将数据传输给后台硬件设备。硬件设备对数据进行同步分析,其中包括FPGA对测试指标的提取,如MDI测试指标、PCR精度、PCR间隔、媒体丢包率等;STB测试板对视频流进行实时回放,实现QoS指标测试[4]。
本方案通过增加功能测试模块来实现。具体为利用Linux Socket网络编程技术实现该模块[5],将该模块加入IPTV测试仪系统中,结合系统现有设备共同实现VOD仿真测试。方案实现过程如图3所示。
图3 视频点播仿真测试的实现流程
步骤1,IPTV测试仪接入IPTV网络。目前接入方式有3种,即XDSL接入、LAN接入和WLAN接入。
步骤2,IPTV测试仪与业务管理服务器交互,发起认证请求,完成认证。交互过程中需调用加密函数对需要上传的用户信息进行加密处理。主要实现程序如下:
1)发起GET请求,相应程序为
2)加密并上传用户信息,相应程序为
3)获取UserToken,表示该终端为合法终端。在接下来的交互过程中,若目前的UserToken过期,则必须返回重新认证,重新获取用户令牌。
步骤3,认证完成之后,IPTV测试仪继续与业务管理服务器交互并登陆EPG服务系统,获得点播服务器入口地址,登录点播服务。主要实现程序如
步骤4,IPTV测试仪与点播服务器进行交互。交互内容包括发送HTTP请求,申请点播节目数据;获取相关节目参数,主要有ProgramID、SessionID和节目详细地址信息等;获取视频TS内容分发服务器IP以及TS内容的传输方式等。该交互过程为后面的RTSP交互作准备。节目详细地址信息如
步骤5,IPTV测试仪利用前面获得信息与主管理服务器进一步进行RTSP交互[6],主要实现程序如下:
1)发送DESCRIBE请求,程序段为
2)发送SETUP请求,程序段为
3)发送PLAY请求,程序段为
步骤6,IPTV测试仪与TS内容分发服务器交互,接收点播数据流。接收过程中测试仪只需发送PAUSE命令暂停数据的接收;停止测试只需发送TEARDOWN命令,如
步骤7,IPTV测试仪接收点播数据流的同时,后台的设备对数据进行分析处理,包括FPGA对MDI测试指标、PCR精度、PCR间隔、媒体丢包率等测试指标的提取,STB测试板对视频流进行实时回放。上层软件则完成数据的后期处理并实现界面显示。
本方案已应用到IPTV测试仪中。图4为使用该测试方案进行IPTV视频点播仿真测试的场景示意图。如图4所示,IPTV测试仪经xDSL MODEM接入IPTV视频点播网络,独立进行点播仿真测试,无需STB的帮助。图4为IPTV测试仪使用该方案测试的认证交互过程。可以看出,使用该方案能够通过认证。图5为IPTV测试仪完成与主控制服务器之间的RTSP交互并获得的点播数据的网络交互过程。图6中深色阴影部分即为点播数据流,由TS内容分发服务器发往IPTV测试仪。图6为IPTV测试仪中STB测试板对接收到的视频数据进行实时回放。综上可知,使用该方案可以实现IPTV测试仪独立进行视频点播仿真测试,达到设计要求。
图4 点播仿真测试场景示意图
图5 认证交互过程(截图)
图6 点播数据流的获得(截图)
图7 IPTV测试仪视频回放
视频点播业务是IPTV业务中的一个重要部分,VOD网络测试对VOD网络的建设和后期维护起着重要作用。本文介绍了IPTV视频点播网络的整体架构,分析了目前VOD性能测试的不足,最后提出了一种VOD仿真测试方案并对方案进行了验证。验证结果表明本方案稳定可靠。本方案已应用到重邮东电IPTV测试仪中,效果良好。
[1]王莹程.IPTV的发展和挑战[J].电信科学,2010(6):129-131.
[2]贺铁龙.基于IP技术的三网融合[J].中国有线电视,2010(7):795-798.
[3]冯建新,高益寰,王光兴.IPTV-CDN网络的构建[C]//中国通信学会第五届学术年会论文集.南京:中国通信学会,2008:213-217.
[4]赵湘阳,张自忠,席兵.IPTV测试仪系统设计与实现[J].电视技术,2009,33(9):115 -117.
[5]YD/T 1696-2007,机顶盒与 IPTV业务平台接口技术要求[S].2007.
[6]IETF RFC 2326,Real time streaming protocol(RTSP)[S].1998.