分类: LINUX
2009-01-08 11:37:47
两种流式传输方式的比较
随着Internet及宽带的普及,一种新兴的技术--流媒体正日益得到广泛应用。对用流媒体格式制作的音频或视频时,用户不用再等到整个文件下载完毕就可以开始欣赏精彩的节目,效果流畅!下面就先来了解一下流式传输。
流式传输定义很广泛,现在主要表示通过网络传送媒体(如视频、音频)的技术。实现流式传输有两种方法:实时流式传输(Realtimestreaming)和顺序流式传输(progressivestreaming)。
在网络上传送音/视频等多媒体信息在目前主要有下载和流式传输两种方案。由于A/V文件体积都较大,不仅所需存储容量大,同时由于网络带宽的限制,下载常常要花比较长的一段时间,所以这种处理方法延迟时间很长。而用流式传输方式来传送,则在传输声音、影像或动画等数据的时候,由音/视频服务器向用户计算机连续、实时传送,用户不必等到整个文件全部传输完毕,只需经过几秒或十几秒的启动延时即可进行观看。就在媒体文件在客户机上播放的同时时,文件的剩余部分将在后台继续下载。流式传输不仅使启动延时成十倍、百倍地缩短,而且不需要客户机有太大的缓存容量。
流媒体技术则利用了这种流式传输技术,凡播放用流媒体格式制作的多媒体文件时,不需要下载整个文件,只将开始部分的内容存入内存,流式媒体的数据流边传输边播放,只是在开始时有一些延迟。由此看来,流式传输方式成了流媒体技术的关键。
下面来具体谈谈顺序流式传输及实时流式传输。
1.顺序流式传输
应用顺序流式传输数据,则用户在播放媒体文件时,在给定时刻,用户只能观看已下载的那部分,而不能跳到还未下载的部分,顺序流式传输不能象实时流式传输在传输期间根据用户连接的速度做调整。由于标准的HTTP或FTP服务器可发送这种形式的文件,也不需要其他特殊协议,它经常被称作HTTP流式传输。顺序流式传输比较适合高质量的短片如片头、片尾和广告的传输,由于该文件在播放前观看的部分是无损下载的,因此能保证电影播放质量。但这也意味着用户在观看前,必须经历一段延迟,如连接速度较慢时尤为明显。不过现在由于宽带网络逐渐普及,下载的速度越来越快了,因此网上大多数的流媒体播放都是采用顺序流式传输。
在网络传输速度比较慢的时候,顺序流式传输不适合长片段和有随机访问要求的视频,如:讲座、演说与演示。另外,它不支持现场直播,严格说来,它只是一种点播技术。
2.实时流式传输
实时流式传输能保证媒体信号带宽与网络连接速度配匹,可实时观看。由于能实时传送,所以比较适合于现场事件的直播。它也支持随机访问,用户可快进或后退以观看前面或后面的内容。理论上,实时流的播放是连续的,但实际上可能会发生间隙性暂停。
实时流式传输必须连接带宽相匹配,这意味着在以调制解调器速度连接时图像质量比较差。而且,由于出错丢失的信息将被忽略掉,当网络连接情况不太好时,视频质量将比较差。实时流式传输需要特定服务器,如QuickTimeStreamingServer、RealServer或WindowsMediaServer。这些服务器允许你对媒体的发送进行更高级别的控制,因此在系统设置、管理方面比标准HTTP服务器更复杂些。实时流式传输还需要特殊网络协议,如:RTSP(RealtimeStreamingProtocol)或MMS(MicrosoftMediaServer)。这些协议在有防火墙时可能会出用户不能看到一些网址的实时内容的问题。随着宽带网络的普及,这种传输方式必将得到广泛的应用。
流媒体的播放方式
1.单播
单播就是指在客户端与媒体服务器之间建立一个单独的数据通道,从一台服务器送出的每个数据包只能传送给一个客户机。每个用户必须分别对媒体服务器发送单独的查询,而媒体服务器必须向每个用户发送所申请的数据包拷贝。这种巨大传输量将造成服务器沉重的负担,响应时间延长,甚至播放停止,需要管理人员增加硬件和带宽来保证一定的服务质量。
2.组播
组播技术需要构建一种具有组播能力的网络,允许路由器一次将数据包复制到多个通道上。采用组播方式,单台服务器能够对几十万台客户机同时发送连续数据流而无延时。媒体服务器只需要发送一个信息包,而不是多个;所有发出请求的客户端共享同一信息包。信息可以发送到任意地址的客户机,减少网络上传输的信息包的总量。网络利用效率大大提高,成本大为下降。
3.点播与广播
点播连接是客户端对服务器的主动连接。在点播连接中,用户通过选择内容项目来初始化客户端连接。用户可以开始、停止、后退、快进或暂停流。点播连接提供了对流的最大控制,但这种方式由于每个客户端各自连接服务器,会迅速耗尽网络带宽。
广播指的是用户被动接收流数据。在广播过程中,客户端只能接收流,不能控制流。例如,用户不能暂停、快进或后退流。广播方式中单独将数据的一个拷贝发送给网络上的所有用户。
流媒体格式介绍
1.微软高级流格式ASF
Microsoft公司的WindowsMedia的核心是ASF(Advanced Stream Format)。微软将ASF定义为同步媒体的统一容器文件格式。ASF作为一种数据格式,其音频、视频、图像以及控制命令脚本等多媒体信息将通过这种格式,以网络数据包的形式传输,实现流式多媒体内容发布。
ASF最大优点就是体积小,因此适合网络传输,使用微软公司的最新媒体播放器(Microsoft Windows Media Player)可以直接播放该格式的文件。制作ASF文件有以下几种途径:
(1)将图形、声音和动画数据组合成一个ASF格式文件;
(2)将其他格式的视频和音频转换为ASF格式;
(3)通过声卡和视频捕获卡将诸如麦克风、录像机等等外设的数据保存为ASF格式。
另外,由于ASF格式的视频文件可以带有命令代码,用户可以指定在视频或音频到达的某个时间后触发某个事件或操作。
2.RealMedia文件格式
RealNetworks公司的RealMedia包括RealAudio、RealVideo和RealFlash三类文件,其中RealAudio用来传输接近CD音质的音频数据;RealVideo用来传输不间断的视频数据;RealFlash则是RealNetworks公司与Macromedia公司联合推出的一种高压缩比的动画格式。其中的RealVideo格式从一开始就是定位在视频流应用方面的,所以在视频流技术方面具有重要的地位。当用户以56Kb的Modem拨号上网欣赏这种格式的视频时,虽然能实现不间断播放,但其图象质量和MPEG2、DIVX等相比要差些。
第三方应用者可以通过RealNetworks公司提供的SDK将自己的媒体文件转换成RealMedia格式。
3.QuickTime电影(Movie)文件格式
Apple公司的QuickTime电影文件现已成为数字媒体领域的工业标准。使用这种文件格式不仅可以存储单个的媒体内容(如视频帧或音频的采样),而且能保存对该媒体作品的完整描述;QuickTime文件格式的设计目的是用来描述与数字化媒体一同工作而需要存储的各种数据。因为这种文件格式能用来描述几乎所有的媒体结构,所以它是应用程序间(不管运行平台如何)交换数据的理想格式。QuickTime文件格式中媒体描述和媒体数据是分开存储的,媒体描述或元数据(meta-data)叫做电影(movie),包含轨道数目、视频压缩格式和时间信息。同时movie包含媒体数据存储区域的索引。媒体数据可以是所有的采样数据,如视频帧和音频采样,媒体数据可以与QuickTimemovie存储在同一个文件中,也可以在一个单独的文件或者几个文件中。
4.WindowsMediaAudio格式
WMA(WindowsMediaAudio)是来自于微软的重量级选手,它的核心技术是ASF(AdvancedStreamingFormat,高级流格式)。ASF格式支持任意的压缩/解压缩编码方式,并可以使用任何一种底层网络传输协议,具有很大的灵活性,比较MPEG之类的压缩标准增加了控制命令脚本的功能,它以减少数据流量但保持文件质量的方法来实现流式多媒体内容发布。
5.Flash格式
现在网络上风行的Flash虽然是矢量动画技术,可是它一样的可以包含声音信息,也支持流式传输,高品质Flash的SWF格式文件声音更加出众,而且文件体积更小,现在也有使用这种技术做的音乐网站,在欣赏的时候需要你安装一个Flash的插件,以现在的网络速度而言,区区几百KB的Flash插件一会儿的工夫就可以安装完成。