User Tools

Site Tools

Writing /home/data/cadweb/personal/zhx/DAM/2012/data/cache/8/8cfcb9805b6f07e773b114a63428fe5b.i failed
Unable to save cache file. Hint: disk full; file permissions; safe_mode setting.
Writing /home/data/cadweb/personal/zhx/DAM/2012/data/cache/8/8cfcb9805b6f07e773b114a63428fe5b.metadata failed
Writing /home/data/cadweb/personal/zhx/DAM/2012/data/meta/coursenote/005.meta failed

Page: coursenote:005 PDF
Writing /home/data/cadweb/personal/zhx/DAM/2012/data/cache/8/8cfcb9805b6f07e773b114a63428fe5b.i failed
Unable to save cache file. Hint: disk full; file permissions; safe_mode setting.
Writing /home/data/cadweb/personal/zhx/DAM/2012/data/cache/8/8cfcb9805b6f07e773b114a63428fe5b.xhtml failed

第五章 流媒体技术

流媒体是指网络中通过流媒体传输技术传输的时基媒体数据流。其核心在于流媒体技术也称流式媒体技术。所谓流媒体技术就是把连续的影像和声音信息经过编码处理后放上网站服务器,让用户一边下载一边观看、收听,而不要等整个压缩文件下载到自己的计算机上才可以观看的网络传输技术 。 流媒体的发展带动多媒体在网络中的广泛传播和丰富的应用,逐步进入商业、金融、政府、医疗、科研、教育等领域。

相较于早期的下载播放,流媒体应用只需用户忍耐几秒或十几秒的启动延迟,即可以观看体验多媒体资源,满足了互联网实况直播的需求;而相应的多媒体资源被接收、处理、同步即时播放,并不在接受设备上留下残余的拷贝,不占用客户的存储资源。为了能够实现“实时下载-实时播放“等功能,流媒体数据流必须具备以下特征:连续性、实时性、时序性,从而确保数据流能准确传输到用户终端上。

5.1 流媒体概述

流媒体技术不是一种单一的技术,它是视/音频技术、通信技术及网络技术的有机结合。要系统地实现和应用流媒体技术,需要了解流媒体的采集、压缩、网络传输及播放等方面的问题 。

流媒体主要的传输对象是多媒体信息,多媒体作为复合媒体,是多种媒体的聚合;一个多媒体文件往往包含了文本、图片、动画、视频和声音等各种信息,各信息间相互关联组成统一的多媒体文件,大多数多媒体信息具有交互性质,比起单一媒体信息能传递更立体丰富的内容,应用技术也更具综合性。

在网络中进行多媒体传输需要了解多媒体的基本特征,其中对传输有较大影响的特征有如下四点 :

  1. 数据量巨大。多媒体信息中的图像、声音、视频等内容都具有庞大的数据量。而不同质量间的多媒体数据在数据量上的差异也及其明显。巨大的数据量不仅对存储提出了要求,在网络传播中也需要较高的带宽。
  2. 数据码率可变具有突发性。多媒体数据码率会受内容影响发生变化,如音频内容中的停顿、视频内容中场景的剧烈变化等都会引起码率变化,此类变化难以预测,具有突变性。
  3. 信息实时性和同步性高。多媒体作为一种组合信息,要求信息间要互相同步,如视频中的声音、画面及字幕间的同步,若同步出现问题,信息就会出现问题。
  4. 知识产权问题。多媒体资源一经下载,有着容易传播扩散的特性,从而对多媒体信息制作者的知识产权造成损害。

为了提高多媒体在网络的应用能力,流媒体技术随之诞生,通过视音频流以及可变带宽等相关技术,实现了在多样网络环境中的多媒体实时播放应用。

5.1.1 流媒体文件格式

流媒体文件格式是为了确保多媒体信息在网络实时播放而经过特殊压缩编码而成的一种文件格式。流式媒体文件除了包含被压缩的媒体源文件编码,还添加了时序、压缩和版权管理等附加信息。由于市场竞争的需求,各个公司纷纷研发了各自的流媒体文件格式。采用不同的文件格式,会影响服务器封装、发包的策略。以下对一些主流的流媒体文件格式加以说明。在表5.1中,简要列举了常见流媒体文件格式。

插入图表

RM格式是RealNetworks公司开发的一种流媒体视频文件格式,它主要包含RealAudio(RA)、RealVideo和RealFlash三部分。Real Media可以根据网络数据传输的不同速率制定不同的压缩比率,从而实现低速率的Internet上进行视频文件的实时传送和播放。因为占用的存储空间小,大多普遍采用,多见于一些音乐网站RM格式。rm和ra格式主要用来在低速率的网络上实时传输活动视频影像,可以根据网络数据传输速率的不同而采用不同的压缩比率,在数据传输过程中边下载边播放视频影像,从而实现影像数据的实时传送和播放。客户端通过Real Player播放器进行播放。

MOV格式是美国Apple公司开发的一种视频格式,播放软件是苹果的QuickTimePlayer。具有较高的压缩比率和较完美的视频清晰度等特点,最大的特点还是跨平台性,即能支持MacOS,同样也能支持Windows系列。用的也比较少,多用于教学类的

ASF格式最大优点就是体积小,因此适合网络传输 ASF是一个开放标准,它能依靠多种协议在多种网络环境下支持数据的传送。同JPG、MPG文件一样,ASF文件也是一种文件类型,但它是专为在IP网上传送有同步关系的多媒体数据而设计的,所以ASF格式的信息特别适合在IP网上传输。ASF文件的内容既可以是我们熟悉的普通文件,也可以是一个由编码设备实时生成的连续的数据流,所以ASF既可以传送人们事先录制好的节目,也可以传送实时产生的节目。

SWF是基于Macromedia公司Shockwave技术的流媒体动画格式,是用Flash软件制作的一种格式,源文件为.fla格式,由于其体积小、功能强、交互能力好、支持多个层和时间线程等特点,故越来越多地应用到网络动画中。SWF文件是Flash的其中一种发布格式,已广泛用于Internet上,客户端安装Shockwave的插件即可播放。目前,Flash在Internet的主要应用有:

3GP是一种适用于手机媒体播放应用的3G流媒体视频编码格式,使用户能够发送大量的数据到移动电话网络。3GP是MP4格式的一种简化版本,减少了储存空间和较低的频宽需求,使得手机上有限的储存空间可以使用。然而,其缺点也是由于存储体积小,缺点就是分辨率相对低. 画质相对较差,画面流畅度也一般。

5.1.2 MOV文件结构

以下我们以苹果公司的MOV文件格式为例,说明流媒体文件的基本数据存储构造。

轨道

   MOV格式文件是以轨道(track)的形式组织起来的。一个MOV格式文件结构中可以包含很多轨道。轨道的数目限制有一些经验值,这些值会因为计算机的能力越来越强大而发生改变,然而MOV格式文件本身并没有预定义的轨道数目限制。   

轨道媒体和数据引用

每个轨道都有一个具体的媒体类型(mediatype)—比如视频,声音,或者文本—和一个指定轨道样本数据在何处可以找到的数据引用(datareference)。轨道结构中可以也会指定压缩格式(比如JPEG视频或者GSM音频)。    数据引用可能指向一个本地文件,也可能是一个网络或英特网服务器上的文件,或者来自网络或英特网服务器上的流,还可能指向一个内存块的句柄或者指针;其它数据引用类型也是可能的,并且类型本身是可扩展的。简而言之,MOV格式文件数据可以位于任何地方。数据引用用来描述数据源。

不同的轨道指定的数据源可能相同,也可能不同。举例来说,可以是所有的MOV格式文件媒体样本都在单独一个文件中,也可以是MOV格式文件的音轨在一个文件中,而视频轨道的样本存储在另一个不同的文件中。

一个给定的轨道只能对应一种媒体类型,而且大部分的轨道都从单一的数据源获取所有的样本数据。然而某些媒体类型支持多个数据源。比如:一个视频轨道可能是有一系列的存储在不同文件的JPEG图像组成的。在这种情况下,每个图像都有一个数据源。

不同轨道的媒体类型可以相同,也可以不同—举例来说,同一个MOV格式文件可以有多个视频轨道和多个声音轨道,或者对应于不同语言的多个文本轨道。

一个给定轨道只能使用同一类型的压缩方法,但是在一个MOV格式文件中,具有同样媒体类型的多个轨道使用的压缩方法可以不同。举例来说,一个MOV格式文件中可能同时包含MP3和MPEG-4压缩格式的音频轨道。   

轨道的视觉和声音特性

可视的轨道有一些与视觉相关的属性,比如高度,宽度,x和y偏移量,层的数量,以及图形模式。这些属性使您可以在同一时间播放多个可视的轨道,在位置上可以是并列播放,部分或者完全重叠,或者不同程度的透明或半透明。可视的轨道还包含一个转换矩阵,用于旋转,缩放,或者实时地使轨道的视觉输出产生歪斜。

声音轨道也有一些属性,比如音量和平衡,使用户可以创建声音层。多通道的声音格式目前尚未支持,比如:四扬声器和5.1环绕声。   

轨道时间

每个轨道都有自己的时间比例:即每秒钟包含的单位数,用于描述特定的轨道。在创建电影的时候,可以指定时间比例。举例来说,可以为一个PAL制式的视频轨道分配一个值为25的时间比例,以便使每个时间单元对应一个视频帧。一个CD音频轨道的时间比例可以是44100,以使每个时间单位对应一个声音样本;或者也是1000,这样每个时间单位对应于一毫秒长的声音。

轨道媒体

轨道结构中还包含一个称为媒体(media)的数据结构,它是一个描述位置,时长,和样本数据自然时间比例的底层数据结构。这可能容易混淆,因为在某些的场合下,样本数据有时也被称为轨道的媒体。   

样本时长和帧率

由于每一批样本数据都有其自己的时长,而一批样本可能只包含一个样本,所以MOV格式文件轨道可能没有固定的“帧率”。例如,一个视频轨道可能包含一系列的图像,做幻灯片显示,而屏幕上的每一个“幻灯片”具有不同的时长。    可以将轨道的时长除以视频样本的总数来得到一个帧率,但是请注意,这个计算结果并不总是和MOV格式文件的行为相一致;MOV格式文件中可能有几个点的实际帧率发生激烈变化。   

时间

   和轨道及轨道中的每一个媒体一样,电影结构中有一个时间比例。时间比例指定每秒包含多少个时间单位。对于媒体来说,时间比例通常是采样频率;对于轨道或者电影,时间比例则可能是任何方便的数值。   

MOV格式文件及其轨道,以及不同媒体的时间比例之间的关系,定义了MOV格式文件的时间坐标系统。MOV格式文件有一个当前时间,用来指示MOV格式文件中马上要被显示出来的部分。当前时间以MOV格式文件时间比例单元来表示。举例来说,如果MOV格式文件的时间比例为600,且已经播放了半秒,则当前时间为300。当前时间的范围可以从0到MOV格式文件的时长。它随着MOV格式文件的播放而不断改变。拖动MOV格式文件控制器的播放箭头也会改变电影的当前时间。

MOV格式文件还有一个率的概念,MOV格式文件停止的时候这个值为0,当MOV格式文件以正常速度播放的时候为1,正常播放速度由MOV格式文件的时间比例来确定。举例来说,当播放率为1的时候,时间比例为600的电影以每秒种600个时间单元的速度播放。率为负数会使电影倒放。率大于1会使MOV格式文件播放速度比正常速度快,小于1会使电影播放速度比正常速度慢。再举个例子,当播放率为0.5的时候,时间比例为600的MOV格式文件以每秒种300个时间单元的速度播放;如果播放率为2,则以每秒种1200个时间单元的速度播放。

5.1.3 流媒体文件发布格式

流媒体文件发布格式内的信息主要用于控制被分割到多个文件中的流的随意播放 。

  1. RAM和RPM是Real Media文件对应的索引文件,不包含任何媒体数据。它只标注媒体数据存放的位置。当浏览器启动real player来查看该超链接时,可通过此指向媒体资源,向服务器请求真正的媒体数据文件。
  2. ASX是MicroSoft Media文件对应的索引文件,是一种文本文件,主要目的是对流文件进行重定向,它将媒体内容集中在一起,并存储媒体内容的位置。当我们在网页上选择一个asx文件时,浏览器会直接将asx中的媒体内容送如windows media player,后者会根据asx文件信息,用相应的协议打开指定位置的多媒体信息流或多媒体文件。
  3. SMIL (synchronized multimedia integration language) 即同步多媒体集成语言,是由国际W3C组织所指定的流媒体描述语言。其作用是使WEB上多媒体应用保持同步,就像html在超链接文本中起到的作用一样。SMIL是一种简单易用的标记性语言,以XML为基础开发而成。SMIL的主要应用目的是:通过编制一个时间序列表,对音、视频,文本和图像文件出现的先后次序做出安排,而不需要再去掌握相应的开发工具或是复杂的编程语言。

5.1.4 流媒体系统的体系架构

一个典型的流媒体系统框架主要包含编码器(encoder)、流媒体服务器以及客户端的播放器三个核心模块。如图所示,模块间通过特定协议互相通信,其中编码器将原始多媒体数据编码为对应流媒体格式文件,服务器向客户端发送编码后的信息,客户端播放器负责解码和播放接收到的数据。

插入图像

一个完整的流媒体系统则包含更多组成部分,例如媒体存储系统,以实现大数据的存储管理,为系统提供高速的读写操作性能,能高速传输外界请求数据;数字媒体版权加密系统,实现对媒体资源的版权保护,实现访问权限控制等功能。

5.2 流媒体传输技术

互联网发展之初,主要用于传输文本数据, 难以满足多媒体数据的实时传输需求。面临的问题主要有多媒体数据庞大,带宽要求高;多媒体数据要求极高的实时性,要求传输数据具有较小的延迟,需要更为完善的延时数据处理,以确保多媒体播放的顺畅;最后多媒体的数据突发性特点,需要网络传输建立合理的缓存机制,以应对数据突发。以上几个问题,第一点或许可以通过硬件带宽的提高而得到解决,另外两点则需要传输技术上的改进。

5.2.1网络传输质量保证QoS

QoS(Quality of Service)服务质量,是网络的一种安全机制, 是用来解决网络延迟和阻塞等问题的一种技术。QoS能在网络过载或拥塞时,确保重要业务量不受延迟或丢弃,并同时保证网络的高效运行。通常QoS提供以下三种服务模型:

1. Best-Effort(尽力而为服务模型):Best-Effort是一个单一的服务模型,也是最简单的服务模型。在Best-Effort服务模型下,应用程序可以在任何时候,发出任意数量的报文,无需事先获得批准及通知网络,网络尽最大可能发送报文;但 一旦当网络接口发生拥堵事,网络将不顾及用户及应用,马上丢弃数据包直到业务量有所减少,。但对时延、可靠性等性能不提供任何保证。

Best-Effort服务模型是网络的缺省服务模型,通过FIFO(first in first out, 即先入先出)队列来实现。它适用于绝大多数网络应用,如FTP、E-Mail等,但无法满足多媒体传输的各方面要求。

2.Integrated service(综合服务模型,简称Int-Serv):Int-Serv是一个综合服务模型,它可以满足多种QoS需求。该模型使用资源预留协议(RSVP),RSVP运行在从源端到目的端的每个设备上,可以监视每个流,以防止其消耗资源过多。这种体系能够明确区分并保证每一个业务流的服务质量,为网络提供最细粒度化的服务质量区分。

但是,Inter-Serv模型对设备的要求很高,当网络中的数据流数量很大时,设备的存储和处理能力会遇到很大的压力。Inter-Serv模型可扩展性很差,难以在Internet核心网络实施。

3.Differentiated service(区分服务模型,简称Diff-Serv):Diff-Serv是一个多服务模型,它可以满足不同的QoS需求。与Int-Serv不同,它不需要通知网络为每个业务预留资源。区分服务实现简单,扩展性较好。

5.2.2 流媒体传输方式

在实际使用种,流媒体的传输可区分为顺序流式(progressive streaming)和实时流式(real-time streaming)两种传输模式。

1.顺序流式传输

顺序流式传输是顺序下载,在下载文件的同时用户可观看在线媒体,在给定时刻,用户只能观看已下载的那部分,而不能跳到还未下载的前头部分,顺序流式传输不象实时流式传输在传输期间根据用户连接的速度做调整。由于标准的HTTP服务器可发送这种形式的文件,也不需要其他特殊协议,它经常被称作HTTP流式传输。顺序流式传输比较适合高质量的短片段,如片头、片尾和广告,由于该文件在播放前观看的部分是无损下载的,这种方法保证电影播放的最终质量。这意味着用户在观看前,必须经历延迟,对较慢的连接尤其如此。

对通过调制解调器发布短片段,顺序流式传输显得很实用,它允许用比调制解调器更高的数据速率创建视频片段。尽管有延迟,毕竟可让你发布较高质量的视频片段。顺序流式文件是放在标准HTTP或FTP服务器上,易于管理,基本上与防火墙无关。顺序流式传输不适合长片段和有随机访问要求的视频,如:讲座、演说与演示。它也不支持现场广播,严格说来,它是一种点播技术。

2. 实时流式传输

实时流式传输指保证媒体信号带宽与网络连接匹配,使媒体可被实时观看到。实时流与HTTP流式传输不同,它需要专用的流媒体服务器与传输协议。实时流式传输总是实时传送,特别适合现场事件,也支持随机访问,用户可快进或后退以观看前面或后面的内容。虽然理论上,一般规定实时流一经播放就可不停止;但实际应用种,仍有可能发生周期暂停的情况,需要特殊处理。

实时流式传输必须配匹连接带宽,这意味着在以较窄带宽的调制解调器速度进行连接时,回放图象质量较差。同时由于出错或丢失的信息被忽略,以及网络数据拥塞等问题,视频质量将可能明显下降。如欲保证视频质量,顺序流式传输更为合适。实时流式传输需要特定服务器,如QuickTime Streaming Server、RealServer与Windows Media Server。这些服务器允许你对媒体发送进行更多级别的控制,因而系统设置、管理比标准HTTP服务器更复杂。实时流式传输还需要特殊网络协议,如:RTSP (Realtime Streaming Protocol)或MMS (Microsoft Media Server)。这些协议在有防火墙时可能会出现问题,导致用户不能看到一些地点的实时内容。

5.2.3 流媒体传输协议

流式传输的相关协议主要分为三类:网络层协议,主要包括IP协议,提供最基本的网络传输服务;传输层协议,主要包括TCP,UDP和RTP/RTCP等,提供端到端的传输服务,其中RTP/RTCP在TCP或UDP之上实现,因此也可以被划分为应用层协议;应用层协议,主要包括RTSP等,用来定义多媒体会话过程中的消息控制及处理过程。

实现流媒体传输需要制定适合流式传输的特定协议;在流式传输方案中,一般采用HTTP/TCP来传输控制信息,而用RTP/UDP来传输实时声音数据。下面简单介绍几种用户从服务器点播流媒体内容的传输结构:

版权声明

浙江大学2008-2012版权所有,如需转载或引用,请与 作者联系

coursenote/005.txt · Last modified: 2014/05/22 08:20 (external edit)