摘要:文章介绍了流媒体的概念、特点与流媒体系统,比较深入分析了流媒体关键技术,对流媒体技术在发展中遇到的问题提出了简单建议。
关键词:流媒体;编码方式;传输协议
目前在中国的宽带网络市场上,基于不同压缩编码方式的mpeg-1,mpeg-2,real,wmt,quicktime等各种流媒体技术的产品成了宽带网络的宠儿,日益受到人们的关注。
一、流媒体的概念与特点
流媒体是指运用可变带宽技术,在数据网络上按时间先后次序传输和播放的连续音/视频数据的一种格式。流媒体在播放前只将部分内容缓存,并不下载整个文件,在数据流传送的同时,用户可在计算机上利用相应的播放器或其它的硬件、软件对压缩的动画、视音频等流式多媒体文件解压后进行播放,这样就节省了下载等待时间和存储空间,使时延大大减少,而多媒体文件的剩余部分将在后台的服务器内继续下载。
流媒体数据流具有连续性、实时性、时序性三大特点,具有严格的前后时序关系。
二、流媒体系统
流媒体系统包括音/视频源的编码/解码、存储、流媒体服务器、媒体流传输网络、用户端播放器5个部分(如图1所示),原始音/视频流经过编码和压缩后,形成媒体文件存储,媒体服务器根据用户的请求把媒体文件传递到用户端的媒体播放器。
三、流媒体关键技术
流媒体系统中,影响流媒体播放质量的3个最关键的因素是:编码和压缩的性能与效率、媒体服务器的性能、媒体流传输的质量控制。WwW.133229.CoM
(一)编码/压缩
流媒体系统中的编码用于创建、捕捉和编辑多媒体数据,形成流媒体格式。
影响音/视频流的编码性能的因素很多:首先是编码效率,要求在保证一定音/视频质量的前提下,媒体流的码流速率尽量低,以达到压缩流媒体文件的目的。其次是编码的冗余性和可靠性,与普通多媒体文件压缩/编码不同的是,流媒体文件需要在网络上实时传输,因此必须考虑传输中数据丢失对解码质量的影响。在internet环境下,最典型的方法是多描述编码(mdc)。mdc把原始的视频序列压缩成多位流,每个流对应一种描述,都可以提供可接受的视觉质量,多个描述结合起来提供更好的质量。最后需要考虑速率调节的能力,一种方法是采用可扩展的层次编码,生成多个子位流(substream),其中一个位流是基本位流,它可以独立解码,输出粗糙质量的视频序列,其他的子位流则起质量增强的作用,所有的子位流一起还原出最好质量的视频序列。当网络速率变化时,可以通过调节流输出的层次来控制码流的速率,从而适应网络速率的变化。
(二)媒体服务器
流媒体系统中的媒体服务器用于存放和控制流媒体的数据。
随着流媒体规模的扩大,流媒体服务器的性能成为制约流媒体服务扩展能力的重要因素。流媒体服务器性能的关键指标是流输出能力和能同时支持的并发请求数量。影响流媒体服务器性能的因素很多,包括cpu能力、i/o总线、存储带宽等。通常单个流媒体服务器的并发数都在几百以内,因此为了具有更好的性能,目前的高性能流媒体服务器都采用大规模并行处理的结构,例如采用超立方体的结构将各个流媒体服务单元连接起来。还有一种方法是采用简单的pc集群的方式,这种方式下多个pc流媒体服务器用局域网连接,前端采用内容交换/负载均衡器将流媒体服务的请求分布到各个pc媒体服务单元。后一种方式的性能不如前一种方式,但是成本低,容易实现。
(三)流媒体传输网络
流媒体在因特网上的传输必然涉及到网络传输协议,这是制约流媒体性能的最重要的因素。为了保证对网络拥塞、时延和抖动极其敏感的流媒体业务在面向无连接的ip网络中的服务质量,必须采用合适的协议,其中包括internet本身的多媒体传输协议,以及一些实时流式传输协议等。
①internet本身的多媒体传输协议
rsvp(resource reserve protocol)协议预留一部分网络带宽,能在一定程度上为流媒体的传输提供qos。在某些试验性的系统如网络视频会议工具vic中就集成了rsvp。该协议的两个重要概念是流与预定。流是从发送者到一个或多个接收者的连接特征,通过ip包中"流标记"来认证。发送一个流之前,发送者传输一个路径信息到目的接收方,这个信息包括源ip地址、目的ip地址和一个流规格。这个流规格是由流的速率和延迟组成的。接收者实现预定后,基于接收者的模式能够实现一种分布式解决方案。
②实时流式传输协议
目前几种支持流媒体传输的协议主要有用于 internet上针对多媒体数据流的实时传输协议rtp(real-time transport protocol)、与rtp一起提供流量控制和拥塞控制服务的实时传输控制协议rtcp(real-time transport control protocol)、定义了一对多的应用程序如何有效地通过ip网络传送多媒体数据的实时流协议rtsp(real-time streaming protocol)。
rtp
rtp被定义在一对一或一对多的传输情况下工作,其目的是提供时间信息和实现流同步。rtp通常使用udp来传送数据,也可在tcp或atm等其他协议上工作。rtp本身并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠rtcp提供这些服务。
rtcp
在rtp会话期间,各参与者周期性地传送rtcp包。rtcp包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料,因此服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型,以适应网络的带宽。通常采用两个方法来调节:一是窗口法,通过逐渐增大传送的码率,当发现网络上出现了包的碰撞,也就是检测到了丢包时,再减小发送的码率;二是基于速率的方法,先估计网络的带宽资源,再调整编码的目标速率来适应网络的状态。基于窗口的解决方案会引入类似tcp的重传,所以经常采用基于速率的解决方案。rtp和rtcp配合使用,能以有效的反馈和最小的开销使传输效率最佳化,因而特别适合传送网上的实时数据。
rtsp
rtsp在体系结构上位于rtp和rtcp之上,它使用tcp或rtp完成数据传输。http与rtsp相比,前者的请求由客户机发出,服务器作出响应;使用后者时,客户机和服务器都可以发出请求,即rtsp可以是双向的。rtsp是应用级协议,控制实时数据的发送,它提供了可扩展框架,使实时数据的受控、点播成为可能。该协议目的在于控制多个数据发送连接,为选择发送通道(如udp、组播udp与tcp)提供途径,并为选择基于rtp上发送机制提供方法。
四、结论
从技术的角度来说,对各种基于流媒体的应用影响最大的不是带宽,而是流媒体传输过程中的抖动和延时。网络的延迟和抖动影响数据包传输顺序的正确,使媒体数据不能连续输出,造成播放出现停顿。为了解决拥塞造成的抖动和延时问题,不但要求网络有足够的带宽,还要有较好的稳定性和可伸缩性。对等网络(peer to peer)以其各节点平权、资源共享的特点避免了传统的client/server模式中对server集中访问带来的网络拥塞,使网络有较好的稳定性。
参考文献
[1] 流媒体技术及其应用--- 刘炎芬《山西科技》2005年04期