数字视频和声音传输所涉及到的一个重要概念是"流媒体"(StreamMedia)。所谓流媒体是指视频、声音和数据从源端同时向目的地传输,它可以作为连续实时流在目的地被接收。这里的源指的是服务器端的应用,而目的地或称接收端是指客户端应用。流数据从服务器端应用传输后,可由客户端应用接收并显示或回放,一般是客户端应用接收到足够的数据并将之存储在缓冲区后便立即将视频显示出来,或将音频回放出来。
流媒体技术的出现,使得在窄带互联网中传播多媒体信息成为可能。所谓流媒体技术就是把连续的影像和声音信息经过压缩处理后放到网络服务器上,让浏览者一边下载一边观看、收听,而不需要等到整个多媒体文件下载完成就可以即时观看的技术。实际上流媒体技术是网络音视频技术发展到一定阶段的产物,是一种解决多媒体播放时网络带宽问题的“软技术”。流媒体技术并不是单一的技术,它是融和很多网络技术之后所产生的技术,它会涉及到流媒体数据的采集、压缩、存储、传输以及网络通信等多项技术。
一、流媒体技术概述
a. 流媒体的传输方式
流媒体的主要技术特征就是采用流式传输,即通过Internet将影像和声音节目传送到PC机。实现流式传输有两种方法:顺序流式传输(ProgressiveStreaming)和实时流式传输(Real-Time Streaming)。
(1)顺序流式传输
顺序流式传输采用顺序下载方式,用户可以观看在线媒体节目。但是在给定时刻,用户只能观看已下载的那部分,而不能跳到还未下载的部分;它不能根据用户的连接速度做调整。由于标准的HTTP服务器可发送这种形式的文件,而不需要其他特殊协议,它经常被称作HTTP流式传输。顺序流式传输方式适合高质量的短片段,如片头、片尾和广告,媒体文件在播放前观看的部分是无损下载的,服务质量(QoS)较高。顺序流式文件放在标准HTTP或FTP服务器上,易于管理,基本上与防火墙无关。顺序流式传输不适合长片段和有随机访问要求的视频、讲座、演说与演示,它也不支持现场广播。严格说来,它是一种点播技术。
(2)实时流式传输
实时流式传输保证媒体信号带宽与网络连接相匹配,使媒体可被实时观看到。实时流与HTTP流式传输不同,需要专用的流媒体服务器与传输协议。实时流式传输总是实时传送,特别适合现场事件,也支持随机访问,用户可快进或后退以观看前面或后面的内容。理论上,实时流一经播放就可不停地收看,但实际上可能会发生周期暂停。实时流式传输允许你对媒体发送进行更多级别的控制,因而系统设置、管理比标准HTTP服务器更复杂。
(3)二者的比较
1)从视频质量上讲,实时流式传输必须匹配连接带宽,由于出错丢失的信息被忽略掉,网络拥挤或出现问题时,视频质量会很差;如欲保证视频质量,顺序流式传输更好。
2)实时流式传输需要特定服务器,如QuickTime Streaming Server、RealServer与Windows Media Server,这些服务器允许对媒体发送进行更多级别的控制,因而系统设置、管理比标准HTTP服务器更复杂。
3)实时流式传输还需要特殊网络协议,如:RTSP (Real-Time Streaming Protocol),这些协议在有防火墙时有时会出现问题,导致用户不能看到一些地点的实时内容;而顺序流式传输与防火墙无关。
b. 流媒体播放方式
流媒体的传输技术主要有三种:点对点(Unicast)、组播(Multicast)和广播(Broadcast)。
(1)单播
在客户端与媒体服务器之间建立一个单独的数据通道,从1台服务器送出的每个数据包只能传送给1个客户机,这种传送方式称为单播。每个用户必须分别对媒体服务器发送单独的查询,而媒体服务器必须向每个用户发送所申请的数据包拷贝。这种巨大冗余造成服务器负担沉重,响应需要很长时间,甚至停止播放。
点对点的特点是流媒体的源和目的地是一一对应的,即流媒体从一个源(服务器端的应用)发送出去后只能到达一个目的地(客户端应用)。
(2)组播
组播技术构建的网络,允许路由器一次将数据包复制到多个通道上。采用组播方式,媒体服务器只需要发送一个信息包,所有发出请求的客户端即可同时收到连续数据流而无延时。这就大大减少了网络上传输的信息包的总量。
组播是一种基于"组"的广播,其源和目的地是一对多的关系,但这种一对多的关系只能在同一个组内建立,也就是说,流媒体从一个源(服务器端的应用)发送出去后,任何一个已经加入了与源同一个组号的目的地(客户端应用)均可以接收到,但该组以外的其他目的地(客户端应用)均接收不到。
400-700-9974