|
互联网的普及和多媒体技术在互联网上的应用,迫切要求能解决实时传送视频、音频、计算机动画等媒体文件的技术。在这种背景下,流式传输技术及流媒体应运而生。 流媒体是指在Internet/Intranet中使用流式传输技术的连续时基媒体,与传统的单纯下载相比较,流媒体具有明显的优点:由于不需要将全部数据下载,因此等待时间可以大大缩短;由于流文件往往小于原始文件的数据量,并且用户也不需要将全部流文件下载到硬盘,从而节省了大量的磁盘空间;由于采用了RSTP等实时传输协议,更加适合动画、视频音频在网上的实时传输。
一、流媒体的技术特征
流媒体的主要技术特征就是采用流式传输,即通过Internet 将影音节目传送到PC机。实现流式传输有两种方法:顺序流式传输(Progressive streaming)和实时流式传输(Real-time streaming)。
1. 顺序流式传输
顺序流式传输采用顺序下载方式,用户可以观看在线媒体节目。但是在给定时刻,用户只能观看已下载的那部分,而不能跳到还未下载的前序部分;它不能根据用户的连接速度做调整。由于标准的HTTP服务器可发送这种形式的文件,而不需要其他特殊协议,它经常被称作HTTP流式传输;顺序流式传输方式适合高质量的短片段,如片头、片尾和广告,媒体文件在播放前观看的部分是无损下载的,QoS高;顺序流式文件放在标准HTTP 或 FTP服务器上,易于管理,基本上与防火墙无关。顺序流式传输不适合长片段和有随机访问要求的视频、讲座、演说与演示,它也不支持现场广播。严格说来,它是一种点播技术。
2.实时流式传输
实时流式传输保证媒体信号带宽与网络连接相匹配,使媒体可被实时观看到。实时流与HTTP流式传输不同,需要专用的流媒体服务器与传输协议。实时流式传输特别适合现场事件,也支持随机访问,用户可快进或后退以观看前面或后面的内容。理论上,实时流一经播放就可不停地收看,但实际上,可能会发生周期暂停。
3.二者比较
(1)从视频质量上讲,实时流式传输必须匹配连接带宽,由于出错丢失的信息被忽略掉,网络拥挤或出现问题时,视频质量会很差;如欲保证视频质量,顺序流式传输更好。
(2)实时流式传输需要特定服务器,如QuickTime Streaming Server、Real Server与Windows Media Server,这些服务器允许对媒体发送进行更多级别的控制,因而系统设置、管理比标准HTTP服务器更复杂。
火墙时有时会出现问题,导致用户不能看到一些地点的实时内容;而顺序流式传输与防火墙无关。
二、视频服务器硬件平台
目前有三种类型的视频服务器结构:通用主机(最早使用),紧耦合多处理机,调谐视频服务器。视频服务器把存储的视频信息,以视频流的形式,通过网络接口发送给相应的客户,同时响应客户的交互请求,保证视频流能够连续输出。在响应客户的视频请求后,从存储系统读入一部分视频数据,到对应于这个视频流的特定缓存中,然后此缓存中的内容送入网络接口发送到客户。当一个新的客户请求视频服务时,服务器根据系统资源的使用情况决定响应速度与服务质量,诸如存储I/O的带宽、网络带宽、内存大小和CPU的使用率。在实时输出视频流的过程中,一方面,为避免引起画面的抖动,服务器必须以恒定的速率播放,如MPEG-1 1.5Mbit/s的恒比特流;另一方面,视频流中包含的多种信号必须保持同步,如音唇失步< 40ms。另外,视频流具有数据量大的特点,它在存储系统上的存放方式,直接影响视频服务器提供的交互服务,如快进和快倒等功能的实现。因此,视频服务器必须解决视频流特性提出的各种要求。
三、流媒体传输的网络协议及传输流程
TCP需要较多的开销,故不太适合传输实时数据;流式传输一般采用HTTP/TCP来传输控制信息,而用RTP/UDP来传输实时声音数据。
1.流媒体多层协议
(1) 实时传输协议RTP
实时传输协议RTP被定义为在一对一或一对多的传输情况下工作,其目的是提供时间信息和实现流同步;RTP通常使用UDP来传送数据,但RTP也可以在TCP或ATM等其他协议之上工作;当应用程序开始一个RTP会话时将使用两个端口:一个给RTP,一个给RTCP。RTP本身并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务;通常RTP算法并不作为一个独立的网络层来实现,而是作为应用程序代码的一部分。
(2)实时传输控制协议RTCP
实时传输控制协议RTCP和RTP一起提供流量控制和拥塞控制服务;在RTP会话期间,各参与者周期性地传送RTCP包;RTCP包中含有已发送的数据包的数量、丢失的数据包数量等统计资料,因此,服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型。
RTP和RTCP配合使用,它们能以有效的反馈和最小的开销使传输效率最佳化,因而特别适合传送网上的实时数据。
(3)实时流协议RTSP
实时流协议RTSP定义了一对多应用程序如何有效地通过IP网络传送多媒体数据;RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或RTP完成数据传输;HTTP与RTSP相比,HTTP传送HTML超链接文档,而RTSP传送的是多媒体数据;HTTP请求由客户机发出,服务器做出响应;使用RTSP时,客户机和服务器都可以发出请求,即RTSP可以是双向的。
(4)资源预订协议RSVP
由于音频和视频数据流比传统数据对网络的延时更敏感,要在网络中传输高质量的音频、视频信息,除带宽要求之外,还需其他更多的条件;RSVP是正在开发的IP网上的资源预订协议,使用RSVP预留一部分网络资源(即带宽),能在一定程度上为流媒体的传输提供QoS。
2.流媒体关系链
(1) 交换控制信息
客户机与服务器间在HTTP/TCP协议上交换控制信息;可把原始信息中需要传输的实时数据检索出来;此后,客户机上的Web浏览器启动A/V Helper程序,使用HTTP协议从服务器检索相关参数(目录、A/V编码类型以及A/V服务器地址)。 |