随着Internet的发展,多媒体信息在网上的传输越来越重要,流式技术以其边下载边播放的特性深受教育、娱乐等行业的喜爱,本文主要描述流媒体系统及主要的流式技术,提出了流式技术的主要解决方案。
1、前言
网络技术、通讯技术、多媒体技术的迅猛发展对Internet产生极大的影响,特别在以下几个方面:第一,联网方式多样化,从14.4Kmorden到专线、ISDN、有线电视、光纤、卫星网络等;第二,网络带宽的大大拓宽,无论哪种联网方式,它们所提供的带宽不断的在扩大;第三,Internet提供更多的服务,它不再局限于网络通信E-Mail、简单的信息浏览、FTP、TELNET等,诸如电子商务、远程教育、视频点播等新的服务和应用如雨后春笋般的出现。
这几方面的变化使得网络真正成为人类生活的一部分,人们可以享受快速而廉价的网络去观看缤纷的世界。
在这种情况下世界各地的传统影视媒体、教育学习机构、广播媒体纷纷加入到Internet领域中,使自身的传播方式得到了扩充。面对有限的带宽和拥挤的拨号网络,实现窄带网络的视频、音频、动画传输最好的解决方案就是流式媒体的传输方式。通过流方式进行传输,即使在网络非常拥挤或很差的拨号连接的条件下,也能提供清晰、不中断的影音给观众,实现了网上动画、影音等多媒体的实时播放。
一般来说,流包含两种含义,广义上的流是使音频和视频形成稳定和连续的传输流和回放流的一系技术、方法和协议的总称,我们习惯上称之为流媒体系统;而狭义上的流是相对于传统的下载-回放(Download-Playback)方式而言的一种媒体格式,能从Internet上获取音频和视频等连续的多媒体流,客户可以边接收边播放,使时延大大减少。
2、流媒体系统概述
2.1 流式传输的特点
流媒体是从英语StreamingMedia中翻译过来,它是一种可以使音频、视频和其它多媒体能在Internet及Intranet上以实时的、无需下载等待的方式进行播放的技术。流媒体文件格式是支持采用流式传输及播放的媒体格式。流式传输方式是将动画、视音频等多媒体文件经过特殊的压缩方式分成一个个压缩包,由视频服务器向用户计算机连续、实时传送。在采用流式传输方式的系统中,用户不必像非流式播放那样等到整个文件全部下载完毕后才能看到当中的内容,而是只需经过几秒或几十秒的启动延时即可在用户的计算机上利用相应的播放器或其它的硬件、软件对压缩的动画、视音频等流式多媒体文件解压后进行播放和观看,多媒体文件的剩余部分将在后台的服务器内继续下载。
与单纯的下载方式相比,这种对多媒体文件边下载边播放的流式传输方式具有以下优点:
(1) 启动延时大幅度地缩短
用户不用等待所有内容下载到硬盘上才开始浏览,我们曾经用10M到桌面的校园网络来浏览方舟中的猫头鹰剧场,无论是上班时间还是晚上,速度都相当快,一般来说,一个45分钟的影片片段在一分钟以内就显示在客户端上,而且在播放过程一般不会出现断续的情况,另外,全屏播放对播放速度几乎无影响,但快进、快倒时需要时间等待。
(2) 对系统缓存容量的需求大大降低
由于Internet是以包传输为基础进行断续的异步传输,数据被分解为许多包进行传输,动态变化的网络使各个包可能选择不同的路由,故到达用户计算机的时间延迟也就不同。所以,在客户端需要缓存系统来弥补延迟和抖动的影响和保证数据包传输顺序的正确,使媒体数据能连续输出,不会因网络暂时拥堵而使播放出现停顿。虽然流式传输仍需要缓存,但由于不需要把所有的动画、视音频内容都下载到缓存中,因此,对缓存的要求降低。
(3) 流式传输的实现有特定的实时传输协议
采用RTSP等实时传输协议,更加适合动画、视音频在网上的流式实时传输。
2.2 流媒体系统的组成
流媒体系统包括以下5个方面的内容:
1. 编码工具:用于创建、捕捉和编辑多媒体数据,形成流媒体格式
2. 流媒体数据
3. 服务器:存放和控制流媒体的数据
4. 网络:适合多媒体传输协议甚至是实时传输协议的网络
5. 播放器:供客户端浏览流媒体文件
这5个部分有些是网站需要的,有些是客户端需要的,而且不同的流媒体标准和不同公司的解决方案会在某些方面有所不同。
3、各种多媒体信息的流媒体传输格式
在Internet上所传输的多媒体格式中,基本上只有文本、图形可以照原格式在网上传输。动画、音频、视频等虽然可以直接播放在网上播放,但文件偏大,即使使用专线上网,也要等完全下载后才能观看,这三种类型的媒体均要采用流式技术来进行处理以便于在网上传输。另外,还有一些如PowerPoint文件、多媒体课件等内容也需要用流式技术进行传输。
流(Stream)媒体格式是将一个资料(动画、影音等)分段传送,用户不必等待整个内容传送完毕,就可以观看到即时的连续的内容,甚至可以随时的暂停、快进、快倒。由于不同的公司发展的文件格式不同,传送的方式也有所差异,因此,我们必须非常清楚各种流媒体文件的格式。
3.1 RealVideo的.rm视频影像格式和.ra的音频格式
.ra格式是RealNetworks公司所开发的一种新型流式音频Real Audio文件格式。.rm格式则是流式视频Real Vedio文件格式,主要用来在低速率的网络上实时传输活动视频影像,可以根据网络数据传输速率的不同而采用不同的压缩比率,在数据传输过程中边下载边播放视频影像,从而实现影像数据的实时传送和播放。客户端通过RealPlayer播放器进行播放。
3.2 Microsoft Media technology的.asf格式
Microsoft Media technology的ASF也是流行一种网上流媒体格式。它的使用与windows操作系统是分不开的,其播放器MicrosoftMedia Player已经与windows捆绑在一起,不仅用于Web方式播放,还可以用于在浏览器以外的地方来播放影音文件。
3.3 QuickTim的.qt格式
QuickTimeMovie的.qt格式是Apple公司开发的一种音频、视频文件格式,用于保存音频和视频信息,具有先进的音频和视频功能,由包括Apple MacOS,Microsoft Windows 95/98/NT在内的所有主流计算机操作系统支持。Quicktime文件格式支持25 位彩色,支持RLC、JPEG等领先的集成压缩技术,提供150多种视频效果。
3.4 Flash的.swf格式
SWF是基于Macromedia公司Shockwave技术的流式动画格式,是用Flash软件制作的一种格式,源文件为.fla格式,由于其体积小、功能强、交互能力好、支持多个层和时间线程等特点,故越来越多地应用到网络动画中。SWF文件是Flash的其中一种发布格式,已广泛用于Internet上,客户端安装Shockwave的插件即可播放。目前,Flash在Internet的主要应用有:
(1)网上的MTV:采用Flash技术制作的MTV,如:《最近比较烦》、《至少还有你》、《流着泪的你的脸》、《新长征路上的摇滚》等歌曲,它们形式活泼、生动,甚至还有一定的交互性,传输速度快在网上非常受欢迎。
(2) 网上游戏
(3) 网上动画
(4) 网上交互式网页:采用Flash来制作网站的例子已不少见,而且,部分大学也开始使用它来开发整门课程的网络课件,其效果非常不错。
3.5 Metastream 的.mts格式
MetaCreations公司的网上流式三维技术MetaStream实现英特网上流式三维网页的浏览,它是一种新兴的网上3D开放文件标准(基于Intel构架),主要用于创建、发布及浏览可以放缩的3D图形和开发电脑游戏。
3.6 Authorware的.aam多媒体教学课件格式
纵观市场上的计算机辅助教学(简称CAI)课件,我国多采用像Authorware等多媒体制作工具,这类课件利用Shockwave技术和WebPackage软件可以把Authorware生成的文件压缩为.aam和.aas流式文件格式为播放;也可以用Director生成后,利用Shockwave技术改造为网上传输的流式多媒体课件。
4、流式技术的主要解决方案
到目前为止,Internet上使用较多的流媒体格式主要有RealNetworks公司的Real system、Microsoft公司的WindowsMedia Technology和Apple公司的QuickTime,它们是网上流媒体传输系统的三大主流。
4.1 Real system
Real System由媒体内容制作工具Real Producer、服务器端RealServer、客户端软件(ClientSoftware)三部分组成(如下图)。其流媒体文件包括RealAudio、RealVideo、Real Presentation和RealFlash四类文件,分别用于传送不同的文件。RealSystem采用SureStream技术,自动地并持续地调整数据流的流量以适应实际应用中的各种不同网络带宽需求,轻松在网上实现视音频和三维动画的回放。
RealSystem流式传输系统
Real流式文件采用Real Producer软件进行制作,首先把源文件或实时输入变为流式文件,再把流式文件传输到服务器上供用户点播。
由于其成熟稳定的技术性能,互联网巨人美国在线(AOL)、ABC、AT&T、Sony和Time Life等公司和网上主要电台都使用RealSystem向世界各地传送实时影音媒体信息以及实时的音乐广播。在我国,大量的影视、音乐点播和春节晚会、昆明世博会开幕式的网上直播都采用了RealSystem系统。
4.2 Windows Media Technology
Windows MediaTechnology是Microsoft提出的信息流式播放方案,其主要目的是在Internet和Intranet上实现包括音频、视频信息在内的多媒体流信息的传输。其核心是ASF(AdvancedStreamFormat)文件,ASF是一种包含音频、视频、图像以及控制命令、脚本等多媒体信息在内数据格式,通过分成一个个的网络数据包在Internet上传输,实现流式多媒体内容发布。因此,我们把在网络上传输的内容就称为ASFStream。ASF支持任意的压缩/解压缩编码方式,并可以使用任何一种底层网络传输协议,具有很大的灵活性。Microsoft已将WindowsMedia技术捆绑在Windows2000中,并打算将ASF用作将来的Windows版本中多媒体内容的标准文件格式,这无疑将对Internet特别是流式技术的应用和发展产生重大影响。
Windows Media Technology由Media Tools、Media Server和Media Player工具构成。MediaTools是整个方案的重要组成部分,它提供了一系列的工具帮助用户生成ASF格式的多媒体流(包括实时生成的多媒体流),分创建工具和编辑工具两种,创建工具主要用于生成ASF格式的多媒体流,包括MediaEncoder、Author、VidToASF、WavToASF、Presenter五个工具;编辑工具主要对ASF格式的多媒体流信息进行编辑与管理,包括后期制作编辑工具ASFIndexer与ASFChop,以及对ASF流进行检查并改正错误的ASFCheck。MediaServer可以保证文件的保密性,不被下载,并使每个使用者都能以最佳的影片品质浏览网页,具有多种文件发布形式和监控管理功能。MediaPlayer则提供强大的流信息的播放功能。
4.3 QuickTime
Apple公司于1991年开始发布QuickTime,它几乎支持所有主流的个人计算平台和各种格式的静态图像文件、视频和动画格式,具有内置Web浏览器插件(Plug-in)技术,支持IETF(InternetEngineering TaskForce)流标准以及RTP、RTSP、SDP、FTP和HTTP等网络协议。通过好莱坞影视城(www.hollywood.com)检索到的许多电影新片片段,都是以QuickTime格式存放的。
QuickTime包括服务器QuickTime Streaming Server、带编辑功能的播放器QuickTimePlayer(免费)、制作工具QuickTime 4Pro、图像浏览器PictureViewer以及使Internet浏览器能够播放QuickTime影片的QuickTime 插件。QuickTime4支持两种类型的流:实时流和快速启动流。使用实时流的 QuickTime 影片必须从支持 QuickTime 流的服务器上播放,是真正意义上的StreamingMedia,使用实时传输协议(RTP)来传输数据。快速启动影片可以从任何WebServer上播放,使用超文本传输协议(HTTP)或文件传输协议(FTP)来传输数据。
目前,FOX新闻在线、FOX体育在线、BBC WORLD、气象频道 (WeatherChannel)等机构都加入QuickTime内容供应商行列,使用QuickTime 技术制作实况转播节目。
除了上述的流媒体技术的三种主要格式外,在多媒体课件和动画方面的流媒体技术还有Macromedia的Shockwave技术和MeataCreation公司的MetaStream技术。
通过Shockwave技术可以方便地在Web页面中加入图像、动画以及交互式界面等操作。利用这种Streaming Shockwave,即通过流的方式使用户在客户端实现边下载边播放的功能,节省了等待的时同时间。Shockwave与Macromedia产品紧密联系在一起,包括Flash、Shockwave for Authorware、Shockwave for Director等技术。
MetaStream 3D的图形设计软件是Ray Dream Studio 5 以及Ray Dream3D,可以方便地在网上创建、发布及浏览被缩放的3D图形,它具有小文件量及流传输的特点,比其它任何一种已存在的Internet3D技术压缩率都高。主要应用于游戏开发厂商、页面设计者、电子商务、科学研究者、专业设计者等。
5、流式传输协议
流媒体在因特网上的传输必然涉及到网络传输协议,其中包括Internet本身的多媒体传输协议,以及一些实时流式传输协议等,只有采用合适的协议才能更好的发挥流媒体的作用,保证传输质量QOS。IETF(Internet工程任务组)是Internet规划与发展的主要标准化组织,已经设计出几种支持流媒体传输的协议。主要有用于Internet上针对多媒体数据流的实时传输协议RTP(Real-timeTransport Protocol)、与RTP一起提供流量控制和拥塞控制服务的实时传输控制协议RTCP(Real-time Transport ControlProtocol)、定义了一对多的应用程序如何有效地通过IP网络传送多媒体数据的实时流协议RTSP(Real-time StreamingProtocol)。除上述协议之外,流媒体技术还包括对于流媒体类型的识别。