网络通信 频道

基于WEB的视频传输、存储与控制技术分析

    Internet和Web技术改变了信息基础设施的结构,包括信息的生成、存储、传送和表示。目前,传统的数据格式如文本、图像和图形已被数字化,可通过网络存储、传送和表现。但是,依赖传统信息格式不能充分满足诸如视频和音频这样连续媒体的应用要求。把连续媒体引入到信息基础设施中,是对计算机应用开发者的挑战。连续媒体所存在的固有属性,包括大容量的数据存储、占用较高的网络带宽,以及实现在网络上传输连续媒体最重要的准则――实时传输并连续播放,都是连续媒体应用软件开的发主要问题。传统的计算机系统主要执行以计算为主的处理,它们不可能满足严格的定时和容量要求,特别是在文件系统和I/O处理部分。这些都足以证明连续媒体的应用对计算机系统的特殊需求。

    实现视频点播(Video On Demand)主要是解决连续媒体如何在网络中传送、存储与控制。目前,关于视频点播有许多解决方法,某些技术方案采用专门的硬件平台作为视频服务器或只能在特定的网络环境中使用(如ATM),这种方案的系统价格相当昂贵,并且在长期应用中可能带来系统上的维护和扩展问题。本文主要对基于软件技术解决视频点播的关键技术进行分析。

    一、视频传输技术

    视频传输服务涉及到连接至网络中的两个以上的用户,它要求视频服务器将视频内容发送给客户端播放。目前,有两种通用的传输方案:“下载”和“视频流”。“下载”机制的意思是:通过网络将整个视频文件传送到客户端并存储到客户端的存储设备中,在全部内容传输完成以后才可以播放。采用这种方法很显然有两个问题:

    (1)视频文件一般占有较在原存储器空间,客户端必须有足够的存储空间来存放下载的文件。例如,如果视频文件采用MPEG I压缩格式,则一小时的节目需要占有675M的存储器空间,而PEG II压缩格式的视频文件占用的存储器窨则更大;

    (2)下载一个视频文件所需要的时间很长,也就是说客户从选中一个视频内容到可以播放该视频文件所需要的时间(播放延时)较长,例如,假设客户端通过10Base-T与网络连接(目前的客户端一般都是这样),其传送速率为10Mbps,即1280Kb/s,则下勒一个10分钟的MPEG I视频文件(112.5M)需要的时间为112.5×1024Kb/1280kb/s=90s。这是在网络带宽全部分配情况下的理论上的计算时间,在实际的复杂的网络环境中,所需的时间远远比这个时间要长。所以,“下载”方案在高质量的视频(如MPEG II压缩编码视频)和长时间的视频应用中将无法接受。“视频流”的方案正好可以解决这一问题。和“下载”方案不同,客户端并不要求服务器将视频文件全部传送过来,在客户端只须开辟一个很小的缓冲区,接受到一定的数据量后,播放器就开始播放视频,如图1所示,当客户端的缓冲区接受到视频帧#1时,就可以开始播放视频,这时视频帧#2、#3、#4、#5、#6正处在服务器到客户端的路途上。

    当视频帧#1被播放后,则缓冲区的视频帧#1被视频帧#2所替换,如图2所示,这时视频帧#3、#4、#5、#6、#7正处在服务器到客户端的路途上。

    采用这种方案,无需下载整个视频文件,播放延时时间很短,一般可以控制在10秒钟左右。

    二、视频流控制技术

    “视频流”技术解决了在网络环境下对视频适时播放的需求。但纯粹的视频流是不能满足实际应用的需要的。例如,客户端是从缓冲区中读取视频数据进行播放的,如果服务器向客户机传送数据的速度一直大于客户端的播放速度,则客户端缓冲区的数据将会积累,造成更大的存储器容量需求。另一方面,由于网络带宽分配不确定的原因,有时会造成网络拥挤,这时客户端播放视频的质量将受到影响。一种“可控制的流”技术可以解决这一问题。采用这种技术,视频流的传输受到播放速率,网络带宽和客户缓冲区大小的控制,系统实时地监视这些参数的变化,并动态地调整这些参数,从而确保系统连贯而协调地运行。

    这种方案也可以应用于慢速设备和视频硬盘之间的流式传送。对于有些系统,为了节约系统视频硬盘,使用光盘库等慢速设备存放一些使用频率较低的节目,当客户端点播的节目存放在慢速设备中时,就需要在慢速设备和视频硬盘之间建立一个“流”通道,如图3所示,客户端正在播放视频帧#1,视频帧#2正处于客户端的缓冲区中,帧#3、帧#4正从视频硬盘流向客户端,同时,视频硬盘接受来自光盘库的视频帧#5,视频帧#6、#7正从光盘库流向视频硬盘。

    另外,采用两级缓冲技术也可以解决网络实际环境下带宽分配不确定的问题。也就是说,不仅在客户端设置缓冲区,在服务器端也设置一定的缓冲区,并且该缓冲区具有一定的冗余,这样在网络可以使系统适应网络传输延时和操作系统I/O延时的不确定性,确保在复杂网络负载的情况下,稳定地进行视频播放。如图4所示,客户端正在播放视频帧#1,视频帧#2正处于客户端的缓冲区中等待敫,视频帧#3、#4、#5、#6、#7正在传输的途中,而视频帧#8正处于服务器端的缓冲区中。

    三、带宽控制技术

    由于在网络上传送的信息很多而且复杂,这些信息都要占用一定的网络带宽,因此,网络带宽是非常有限的资源。所以,在网络环境下的视频点播,我们必须要解决各种与带宽有关的问题。

    首先要考虑的是服务器的输出带宽,服务器是通过网卡进行数据输出的,在100Base-TX交换以太网环境下,单块网卡的输出带宽是100M,一个视频流的带宽是1.5M,所以当并发用户数超过60时,100M的网络带宽将十分紧张。为此可以采用多网卡输出的方法,如图5所示,只要交换机的带宽足够宽,采用这种方法可以成倍地提高服务器的输出带宽。

    另外要考虑的问题是硬盘的输出带宽,视频服务器的主要功能是以稳定的速率向网络上的客户端传输多媒体数据,当系统中有大量的并发用户时,硬盘的输出能力是系统的主要瓶颈。普通IDE硬盘的输出带宽是16Mbps,SCSI硬盘是40Mbps,典型的磁盘阵列可以提供80-100Mbps的输出,一个标准的MPEG I视频流带宽为1.5Mbps,这样可以得到各种单一存储器介质所能支持的并发用户数如表1所示。

    从表1可以发现以下几个问题:

    (1)单个IDE硬盘支持的并发用户数太少,但其价格便宜;

    (2)SCSI硬盘可以满足大规模用户需求,价格适中;

    (3)对并发用户需求超过50的用户,只能选择磁盘阵列,其价格偏高;

    (4)无法支持超过100的并发用户。

    很显然,采用单个存储介质不能满足大多数用户的需求,更不能满足并发用户,如果采用“纹理存储”技术(也称之为“基带条”技术)则可以解决这个问题,这种技术通过软件将多个物理硬盘驱动器组成一个逻辑上的磁盘驱动器,将数据“条状”地分布在多个硬盘驱动器上,如图6所示。

    读取数据时,实际上是对多个硬盘的并发操作,这样存储系统的输出带宽将成倍地增加。采用这一技术,系统具备了非常好的伸缩性和性价比,如表2所示。

    从表2可以看出,使用4块普通IDE硬盘的系统,将以极低的价格提供只有磁盘阵列才能提供的输出能力。对于那些对价格很敏感的用户,采用这种方案显然是一种理想的选择。

    综上所述,网络视频点播的关键技术是视频流的传输、存储与控制。在实际应用中必须考虑以下几方面的问题:

    (1)网络带宽。网络带宽是网络中的瓶颈资源,它包括服务器的输出带宽,网络传输带宽、硬盘的输出带宽等。

    (2)视频流的带宽。视频流的带宽越大,代表视频的质量越好,但在网络中传输越困难,对客户端的要求也就越高,对于视频带宽大于4Mbps的视频流,一般要求客户端有硬件解压设备。

    (3)视频存储介质。视频最终要通过存储介质向网络中传输,选择存储介质要考虑到它的存储容量、速度和价格等问题。

    (4)最大并发用户数。最大并发用户数是指可以同时支持多少用户使用,这一指标与网络带宽和视频流的带宽(或视频流的格式)是密切相关的。

0
相关文章