摘 要:目前,现有网上的流媒体业务大都采用CDN网络架构以提高质量,但随着流媒体点播用户数量的迅猛增长,用户端在使用流媒体服务时,尤其是在忙时段,黑屏、马赛克、图像停格、缓冲等现象仍然时有发生,大大影响了流媒体的服务质量。

本文从客户端、服务器以及网络参数等方面对流媒体系统进行了实验室测试和探索,以对现有网络开展流媒体业务提供技术参考。


一、流媒体简介流媒体即Streaming Media,是指视频、声音和数据以实时传输协议作为连续实时流从源端同时向目的地传输,在目的地接收到一定缓存数据后就可以立即播放出来的多媒体应用。


流媒体有以下特点:1. 体在分组网络上传输,传输和播放可以同时进行,所以“流媒体”又叫做Continuous Media;


2. 于时间的,在同步、最小延时、等时性方面有严格要求,所以又叫做Time-based Media;


3. 对于网络和处理器资源有伸缩性:编码分层、平滑降速等;所以流媒体系统对用户的客户端系统、传输网络和服务器均提出了较高要求,本文即从这三个角度对流媒体业务做一些测试。


二、测试环境和内容 图1 流媒体实验室测试拓扑图如图1所示,实验室流媒体系统由服务器、网络(交换机)和客户端三部分组成,


本文中采用了微软Media Server作为流媒体服务器,整个测试环境配置如下所示:


1.流媒体服务器,配置是l 处理器:2*XEON 1.8G ,512K二级缓存;l 内存: 256M*8DDR,266MHz;l 磁盘:10000转 SCSI;36G*9 做RAID0l 网络:外插INTEL PRO1000千兆网卡


2.网络损伤仪:IPWAVE,两块网卡,机器配置是PIII1.6GHz的CPU, 256M内存、16M显存,系统是Win98。


3.挂接在损伤仪上的客户端2;直接挂接在交换机上的客户端1、3、4;


4.测试内容


(1)机器配置测试:网络损伤仪不开启,更换客户端1、3、4机器,查看所有客户端点播是否正常,并记录相应的点播效果、点播数据统计数据。


(2)服务器压力测试:网络损伤仪不开启,增加高性能客户端,启动模拟客户端测试软件测试服务器,并记录相应的点播效果、点播数据统计数据。


(3)流媒体网络参数测试:网络损伤仪开启后,设置不同损伤方式,查看所有客户端点播是否正常,并记录相应的点播效果、点播数据统计数据。


四、测试结果


1.机器配置测试结果经过测试,我们发现同样的片源、同样的网络效果,不同性能的机器点播效果有所不同,根据表1中对750K片源(448*336,25帧)的测试结果,我们得出机器的最低配置为:CPU: PII233, 内存:32M,操作系统:WIN98,WINME,WIN2K。另外,我们发现在客户端配置比较高的情况下,正常屏幕和全屏的图像质量差别不大,但是在其机器配置不高的情况下,全屏的图像质量会出现图像不流畅但声音流畅的现象。而笔记本电脑的处理能力和图像解析能力较弱,不适合做测试终端。


表1 机器配置测试表格机器配置 操作系统 WIN98 WINMECPU: P166, 内存:32M Media payer7.1, IE5.0,显示为800*600,16位,显卡:S3 64V2/2M 有停顿 稍有停顿,可接受CPU: PII233, 内存:32M Media payer7.1,IE5.0,显示为800*600,24位,显卡:SIS6326 4M 流畅 流畅CPU:PII400, 内存:32MMedia payer7.1,IE5.0,显示为800*600,24位,显卡:SIS6326 4M 流畅 流畅注:配置较低的客户端自动会选择TCP连接,配置较高的客户端自动会选择UDP的连接。


2.服务器端压力测试服务器测试需要具有相当数量的客户端对测试服务器施加压力,才能获得服务器的实际性能,因此以下是我们参照了一些服务器测试报告中测试结果和测试资料得到的结论,以供参考。服务器压力测试的目标是测试服务器在大并发流情况下的性能状况。为了使有限的物理客户端能支持更多的并发流,测试程序采用WINDOWS Media Load Simulator来模拟客户端,只是从服务器收数据而不播放,这样在测试时,每台机器都是连上40-50模拟测试程序客户端后,再用真实的播放器检察播放效果。在服务器高负荷情况下有图像出现马赛克、影像的重叠、播放不连续、黑屏(即不能连接上服务器)等现象。根据服务器压力测试数据,得出以下结论。 (1)磁盘子系统瓶颈就服务器的配置,可以负载495个300Kps的用户并发访问不同的文件。此时设定内存每次从磁盘读取256K的数据。可以负载430个300Kps的用户并发访问不同的文件。此时设定内存每次从磁盘读取512K的数据,此时因为内存与磁盘之间进行频繁的数据交换,使磁盘子系统成为系统瓶颈。


结论:内存每次从磁盘读取数据的大小(256K\512K\1M)与要传输的数据大小(300K)越接近越好,这样不仅可以节约内存值,也可以减轻磁盘的负载。


(2)内存瓶颈就服务器的配置,可以负载350个534Kps的并发用户访问不同的文件,此时设定内存每次从磁盘读取512K的数据,图像依然保持连续,服务器资源中内存被消耗光,成为系统瓶颈。当用户数为354时,图像开始不连续。


(3)网卡瓶颈当将网卡换成100M网卡时,发现服务器网络带宽长期保存在85%~90%时,流媒体会产生丢帧和缓冲的现象;(4)处理器CPU瓶颈在本服务器的情况下,当处理器占用70%以上时图像仍然连续播放,没有影响。但现网上CDN平台采用的是Cache设备,其CPU处理能力仍然可能成为瓶颈。


3.流媒体网络QoS参数测试经测试发现网络丢包率和时延与片源的码率有密切关系,不同码率的片源出现的现象是不同的,所以我们分低速率和高速率的片源分别做一描述;另外,设置网络抖动的参数后,视频点播软件的统计数据会显示出丢包率的上升。客户端设置的缓冲区(Buffer)也会对测试结果产生影响,一般的,客户端设置5~15秒的Buffer以起到减轻抖动的影响、通过重传进行错误恢复、容错以及对吞吐量发生波动时起平滑的作用等等,但是设置缓冲区也增加了初始延迟。表2 丢包率测试表格丢包率\现象 低码率的场景、电影和球赛的片源 高码率的场景、电影和球赛的片源丢包率为10%时的现象 声音的停顿、图像的停格、马塞克:点播1M以下的片源可以播放,但出现了图像停止,声音流畅的现象;其中对400M-350M-160M智能流的点播也出现声音的停顿、图像的停格,马塞克等现象。另外一点,当把缓冲加到60S时,效果有所改观,但仍不理想。 “缓冲”:点播1.2M、1.5M、2M的片源均无法播放,服务器已经连接,但一直停留在“缓冲”状态;图像声音不流畅;丢包率为5%时的现象 偶尔有瞬间的停顿:点播400k-350k-160k智能流、700k-350k智能流、350K视频片源的点播效果比较好,只是偶尔有瞬间的停顿现象,声音一直很流畅,整体效果可以接受; 马塞克、停顿、声音时断:700K、750K以及1M以上的片源均出现马塞克、停顿、声音时断等现象,点播效果不可接受。丢包率为3%时的现象 效果很好:点播400k-350k-160k智能流、700k-350k智能流、350K、700K、750K视频片源的点播效果比较好; 可以接受:1.2M、1.5M及2M的视频片源均出现不同程度的马塞克、停顿、声音时断等现象,点播效果可以接受丢包率为1%时的现象 网络损伤仪设置的丢包率为1%的时侯,2M及以下所有片源的点播效果都很好。结论:l 10%的网络丢包率对VOD来讲是不可接受的;l 网络丢包率在5%时,较适合点播500K以下的片源;l 网络的丢包率在3%时,较适合点播1M以下的片源;l 网络的整体丢包率在1%以下时,点播2M以内的片源没有任何问题。总体来说,流媒体可以接受的网络的丢包率为1%~3%。表3 时延测试表格时延\现象 低码率的场景、电影和球赛的片源 高码率的场景、电影和球赛的片源500ms 缓冲、图像声音不流畅:点播300k的片源出现了图像不流畅,声音流畅的现象;其中对700k的片源出现了缓冲、图像声音均不流畅的现象 “缓冲”:点播1.2M、1.5M、2M的片源均无法播放,服务器已经连接,但一直停留在“缓冲”状态;图像声音静止等现象;50ms 效果很好:点播300k、350K视频片源的点播效果比较好,图像声音流畅; 缓冲、图像不流畅:点播700k视频片源的点播出现了图像停顿、声音流畅的现象;点播1M视频片源的点播效果很好;点播1.5M视频片源的点播出现了缓冲、图像停顿但声音流畅的现象,但可以接受。10ms 网络时延<50ms的时侯,2M及以下所有片源的点播效果都很好。结论:l 流媒体应用是非交互式的,对实时性的要求不是很高,可以通过在客户端软件设置1S甚至更长的缓存空间来降低对时延的敏感度,一定程度的时间延迟是可以接受的,用户也不会有明显的感觉。


l 随着网络时延的不断增大,首先影响的是高码率的流媒体;l 本文中的流媒体是选用微软media server,其他厂家的产品如real 对时延的敏感更低,500ms内几乎没有影响;只是当延时超过100ms时,点播速度会稍慢一些;


l 总体来说,流媒体可以接受的网络的时延为50ms~100ms。


四、结论根据已有的一些调研和测试,对一些常见故障的原因分析总结如下:


1.黑屏现象的原因分析,黑屏现象:即播放器连接上服务器后,经过缓冲阶段进入“准备就绪”状态后停止,播放器出现了黑屏。可能的原因:


(1)服务器处于高负荷状态,使用户连接不上服务器:可能的服务器高负荷瓶颈可参考服务器压力测试。


(2)多个服务器间的流量瓶颈:如当采用CDN平台时,Cache设备到片源点之间网络带宽瓶颈。


(3)点播的PC机没有安装高版本的DirectX,一般需要8.0以上版本。


(4)客户端的PC机显卡性能较低,点播1M以上高质量片源时显卡处理不过来。


2.马塞克现象的原因分析


(1)流媒体点播端到端的丢包率超过了一定限度。例如端到端的丢包率超过3%时,点播所有的流媒体都会出现不同程度的马塞克。


(2)流媒体服务器负载过大,无法正常、流畅的发送数据流(服务器压力测试);


(3)客户端的PC机显卡性能较低,点播1M以上高质量片源或者有激烈运动、搏斗场景时显卡处理不过来。而点播1M以下和场面较为舒缓的片源,质量会有明显的改善。


(4)流媒体片源压缩时已经产生的问题,压缩后供点播的片源本身就有马塞克,这会导致所有的点播都出现马塞克现象。


3.停格和跳帧现象的原因分析


(1)网络拥塞,网络带宽或网络QoS质量在一定的时间内不能很好的保证,导致画面停顿,有时只能听到比较流畅的声音,有时连声音也停住;


(2)流媒体服务器负载过大,无法正常、流畅的发送数据流;


(3)客户端的PC机显卡性能较低,片源中有激烈运动、搏斗场景时显卡处理不过来;


(4)微软media server由于使用了B Frame 和智能流技术,在客户端播放器上出现明显的跳帧和不连续;


4.缓冲现象的原因分析网络丢包率达到了10%或时延超过500ms,流媒体点播的网络QoS质量在一定的时间内不能保证,导致播放器一直处于与服务器连接的缓冲状态. 09期2003年《中国多媒体视讯》