Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1820123
  • 博文数量: 496
  • 博客积分: 12043
  • 博客等级: 上将
  • 技术积分: 4778
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-27 14:26
文章分类

全部博文(496)

文章存档

2014年(8)

2013年(4)

2012年(181)

2011年(303)

2010年(3)

分类: C/C++

2011-08-17 13:12:42

1 引言

随着互联网的飞速发展,技术的应用越来越广泛,从网上广播、电影播放到远程教学以及在线的新闻网站等都用到了技术。但现有公开文献所报道的大多是利用现有的服务器来搭建一个服务,或者是针对数据的编码方式所进行的研究。本文对服务器技术的研究重点在于如何建立一个服务器,并且在实现传输的两个基本协议RTP/RTCP的基础上构建一个基本的服务器。

2 技术简介

2.1 “流”的定义

现在网上传输视频、音频主要有(Download)和流式传输(Streaming)两种方式。流式传输是连续传送视/音频信号,当在客户机播放时其余部分在后台继续。 流式传输有顺序流式传输(Progressive Streaming)和实时流式传输(Realtime Streaming)两种方式。实时流式传输是实时传送,特别适合现场事件,实时流式传输必须匹配连接带宽,这意味着图像质量会因网络速度降低而变差,以 减少对传输带宽的需求。“实时”的概念是指在一个应用中数据的交付必须与数据的产生保持精确的时间关系。

在Internet中使用流式传输技术的连续时基媒体就称为,通常也将其视频与音频称为视频流和音频流。实现流式传输一般都需要专用服务器和播放器。

2.2 组件

是由各种不同构成的,这些在各个不同层面上互相通信,基本的包含以下3个组件:

播放器(Player),用来播放的。

服务器(Server),用来向用户发送的。

编码器(Encode),用来将原始的音频视频转化为格式的。

这些组件之间通过特定的协议互相通信,按照特定的格式互相交换文件数据。有些文件中包含了由特定编解码器解码的数据,这种编解码器通过特定算法压缩文件的数据量。

3 服务器的基本功能和服务方式



3.1 服务器的主要功能

(1)响应客户的请求,把媒体数据传送给客户。服务器在传送期间必须与客户的播放器保持双向通信(这种通信是必需的,因为客户可能随时暂停或快放一个文件)。

(2)响应广播的同时能够及时处理新接收的实时广播数据,并将其编码。

(3)可提供其他额外功能,如:数字权限管理(DRM),插播广告,分割或镜像其他服务器的流,还有组播。

3.2 服务器的服务方式

(1)单播。在客户端与媒体服务器之间建立一个单独的数据通道,从1台服务器送出的每个数据包只能传送给1个客户机。

(2)组播。在以组播技术构建的网络上,允许路由器一次将数据包复制到多个通道上。

(3) 点播与广播。点播连接是客户端与服务器之间的主动的连接,在点播连接中,用户通过选择内容项目来初始化客户端连接,用户可以开始、停止、后退、快进或暂停 流。广播指的是用户被动地接收流,在广播过程中,数据包的单独一个拷贝将发送给网络上的所有用户,客户端接收流,但不能控制流。

4 构建服务器



4.1 RTP/RTCP协议简介

实 时传输协议RTP(Realtime Transport Protocol):是针对Internet上多媒体数据流的一个传输协议, 由IETF(Internet工程任务组)作为RFC1889发布。RTP被定义为在一对一或一对多的传输情况下工作,其目的是提供时间信息和实现流同 步。RTP的典型应用建立在UDP上,但也可以在TCP或ATM等其他协议之上工作。RTP本身只保证实时数据的传输,并不能为按顺序传送数据包提供可靠 的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。

实时传输控制协议RTCP(Realtime Transport Control Protocol):负责管理传输质量在当前应用进程之间交换控制信息。在RTP会话期间,各参与者周期性地传送RTCP包,包中含有已发送的数据包的数 量、丢失的数据包的数量等统计资料,因此,服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型。RTP和RTCP配合使用,能以有效的反馈 和最小的开销使传输效率最佳化,故特别适合传送网上的实时数据。

RTCP主要有4个功能:

(1)用反馈信息的方法来提供分配数据的传送质量,这种反馈可以用来进行流量的拥塞控制,也可以用来监视网络和用来诊断网络中的问题;

(2)为RTP源提供一个永久性的CNAME(规范性名字)的传送层标志,因为在发现冲突或者程序更新重启时SSRC(同步源标识)会变,需要一个运作痕迹,在一组相关的会话中接收方也要用CNAME来从一个指定的与会者得到相联系的数据流(如音频和视频);

(3)根据与会者的数量来调整RTCP包的发送率;

(4)传送会话控制信息,如可在用户接口显示与会者的标识,这是可选功能。

4.2 RTP/RTCP工作过程

工作时,RTP协议从上层接收信息码流(如H.263),装配成RTP数据包发送给下层,下层协议提供RTP和RTCP的分流。如在UDP中, RTP使用一个偶数号端口,则相应的RTCP使用其后的奇数号端口。RTP数据包没有长度限制,它的最大包长只受下层协议的限制。

4.3 服务器的算法

服务器模 型主要有两种,即并发服务器和循环服务器。循环服务器(Iterative Server)是指在一个时刻只处理一个请求的服务器。并发服务器(Concurrent Server)是指在一个时刻可以处理多个请求的服务器。事实上,多数服务器没有用于同时处理多个请求的冗余设备,而是提供一种表面上的并发性,方法是依 靠执行多个线程,每个线程处理一个请求,从客户的角度看,服务器就像在并发地与多个客户通信。

由于服务时间的不定性和数据交互实时性的请求,服务器一般采用并发服务器算法。本文构建了一个基本的服务器,能够同时响应多个用户的请求,把本地硬盘文件或实时数据流(H.263格式)发送给用户。在应用中,把客户分为请求实时数据的实时客户和请求文件数据的文件客户两类。主要算法为:

(1)打开设备,分配资源。当设备准备好时,创建一个RTP实时服务线程和一个RTCP实时服务线程。

(2)创建一个UDP套接字并将其绑定到所提供服务的地址之上。

(3) 反复调用接收模块,接收来自客户的RTCP报告,根据其类型做出响应。对新实时客户的请求,把客户地址添加到实时服务的客户列表中,对新文件客户的请求, 则创建一个新RTP文件服务线程和一个新RTCP文件服务线程;对已经在服务中的客户则根据RTCP报告的内容调整服务。

RTP实时服务线程1:初始化客户列表和RTP首部。

RTP实时服务线程2:从设备读取媒体数据,把数据发送给实时服务列表中的客户。

RTP实时服务线程3:更新RTP首部和统计数据。

RTP实时服务线程4:计算延时,重复第二步。

RTCP实时服务线程1:初始化RTCP首部。

RTCP实时服务线程2:发送发送方报告给实时服务列表中的客户。

RTCP实时服务线程3:计算延时,重复第二步。

RTP文件服务线程1:初始化RTP首部。

RTP文件服务线程2.:从文件读取媒体数据,把数据发送给客户。

RTP文件服务线程3:更新已发送数据的统计信息,为生成发送方报告做准备。

RTP文件服务线程4:计算延时,调整发送速度,正常情况下开始重复第二步。

RTCP文件服务线程1:初始化RTCP首部,发送一个源描述(SDES)报文给客户。

RTCP文件服务线程2:根据已发送数据的统计信息生成发送方报告,发送给客户。

RTCP文件服务线程3:计算延时,正常情况下开始重复第一步。

5 服务器实现中应注意的问题



5.1 会话和流的两级分用

一 个RTP会话(Session)包括传给某个指定目的地对(Destination Pair)的所有通信量,发送方可能包括多个。而从同一个同步源发出的RTP分组序列称为流(Stream),一个RTP会话可能包含多个RTP流。一个 RTP分组在服务器端发送出去的时候总是要指定属于哪个会话和流,在接收时也需要进行两级分用,即会话分用和流分用。只有当RTP使用同步源标识 (SSRC)和分组类型(PTYPE)把同一个流中的分组组合起来,才能够使用序列号(Sequence Number)和时间戳(Timestamp)对分组进行排序和正确回放。

5.2 多线程的管理

并发服务器模式要求用多 线程来提供服务,所以多线程的管理十分重要。在本文构建的服务器中,不同客户的请求和反馈都由服务器的主线程处理,由于实时数据的独有性,不同实时客户可 以共用一个RTP实时服务线程和一个RTCP实时服务线程,这样可以大大减小服务器的负担,而每个文件客户由于请求的文件不同,相应地对速度和开始时间的 要求都可能不同,所以需要有自己独有的RTP文件服务线程和RTCP文件服务线程。

RTP服务线程负责把实时数据流发送给客户, RTCP服务线程根据RTP线程的统计数据,产生发送方报告给客户。RTP线程和RTCP线程之间通过一段共享内存交互统计数据,对共享内存必须设置互斥 体进行保护,防止出现错误读写。在这种方式下,服务器可以根据每个用户的不同请求和具体情况方便地提供不同的服务。

5.3 时间戳的处理

时 间戳字段是RTP首部中说明数据包时间的同步信息,是数据能以正确的时间顺序恢复的关键。时间戳的值给出了分组中数据的第一个字节的采样时间 (Sampling Instant),要求发送方时间戳的时钟是连续、单调增长的,即使在没有数据输入或发送数据时也是如此。在静默时,发送方不必发送数据,保持时间戳的增 长,在接收端,由于接收到的数据分组的序号没有丢失,就知道没有发生数据丢失,而且只要比较前后分组的时间戳的差异,就可以确定输出的时间间隔。

RTP规定一次会话的初始时间戳必须随机选择,但协议没有规定时间戳的单位,也没有规定该值的精确解释,而是由负载类型来确定时钟的颗粒,这样各种应用类型可以根据需要选择合适的输出计时精度。

在RTP传输音频数据时,一般选定逻辑时间戳速率与采样速率相同,但是在传输视频数据时,必须使时间戳速率大于每帧的一个滴答。如果数据是在同一时刻采样的,协议标准还允许多个分组具有相同的时间戳值。

5.4 媒体数据发送速度的控制

由 于RTP协议没有规定RTP分组的长度和发送数据的速度,因而需要根据具体情况调整服务器端发送媒体数据的速度。对来自设备的实时数据可以采取等时间间隔 访问设备缓冲区,在有新数据输入时发送数据的方式,时间戳的设置相对容易。对已经录制好的本地硬盘上的媒体文件,以H.263格式的文件为例,由于文件本 身不包含帧率信息,所以需要知道录制时的帧率或者设置一个初始值,在发送数据的时候找出发送数据中的帧数目,根据帧率和预置值来计算时延,以适当的速度发 送数据并设置时间戳信息。

5.5 多种流同步

RTCP的一个关键作用就是能让接收方同步多个RTP流,例如:当音频与视 频一起传输的时候,由于编码的不同,RTP使用两个流分别进行传输,这样两个流的时间戳以不同的速率运行,接收方必须同步两个流,以保证声音与影像的一 致。为能进行流同步,RTCP要求发送方给每个传送一个唯一的标识数据源的规范名(Canonical Name),尽管由一个数据源发出的不同的流具有不同的同步源标识(SSRC),但具有相同的规范名,这样接收方就知道哪些流是有关联的。而发送方报告报 文所包含的信息可被接收方用于协调两个流中的时间戳值。发送方报告中含有一个以网络时间协议NTP(Network Time Protocol)格式表示的绝对时间值,接着RTCP报告中给出一个RTP时间戳值,产生该值的时钟就是产生RTP分组中的TimeStamp字段的那 个时钟。由于发送方发出的所有流和发送方报告都使用同一个绝对时钟,接收方就可以比较来自同一数据源的两个流的绝对时间,从而确定如何将一个流中的时间戳 值映射为另一个流中的时间戳值。

6 结论

电影服务器流媒体关键技术

技术的应用日益广泛,对技术的研究具有很大的实际意义,本文通过对RTP/RTCP协议的研究,分析服务器的一般功能和结构,给出构建一个基本的服务器的实现方案,实验证明可以同时满足多个实时和文件客户的要求,并已经应用于一个远程监控中。


1 引言


近年来,随着计算机技术、压缩技术以及网络技术的发展,网络中的业务也得到了飞速的发展和应用。所谓就 是指在 Internet/Intranet中使用流式传输技术的连续时基媒体。本文中着重介绍视频流。目前在Internet上传输视频还有许多困难,其根本原 因在于Internet的无连接每包转发机制主要是为突发性的数据传输而设计的,不适用于对连续媒体流的传输。为了在Internet上有效地、高质量地 传输视频流,还需要多种技术的支持,例如基于视频的压缩编码技术、应用层QoS技术、连续媒体分布服务、流服务器、媒体同步技术和相关协议等。

其 中,原始视/音频经过视/音频压缩算法的预压缩存储在存储设备中。响应客户请求时,流服务器从存储设备中获得视/音频数据,应用层QoS控制模块根据网络 状态和QoS要求来改变视/音频比特流。然后通过传输协议把压缩过的比特流打包并且发送到网上。由于拥塞数据包可能出现丢包或者过度时延。为了提高视 /音频的传输质量,网络中配置了连续分布式服务。对于成功传输的数据包,它们首先通过传输层,然后在进行视/音频解码前经过应用层处理。为了获得在播放中的视频和音频的同步,还需要媒体同步机制。从上图中可以看出,这六个部分有着紧密的联系而且都是结构的组成部分。

2 中的关键技术



2.1 视频压缩及编码

目 前网络是异构性的,缺乏QoS质量控制,并且带宽也在很大范围内变化。传统的不可扩展性视频编码的目标是将视频压缩成适合一个或者几个固定码率的码流,是 面向存储的,因此不适合网络传输。为了适应网络带宽的变化,面向传输的可扩展性编码的思想应运而生。可扩展性编码[2]就是将多媒体数据压缩编码成多个 流,其中一个可以独立解码,产生粗糙质量的视频序列,它适应最低的网络带宽,称为基本层码流;其他的码流可以按层为单位在任何地点截断,称为增强层,用来 覆盖网络带宽变化的动态范围,它们不可以单独解码,而只能与基本层和它以前的增强层联合在一起解码,用来提高观看效果。因此,可扩展性码流具有一定的网络 带宽适应能力。

可扩展性编码主要分为时域可扩展性编码、空域可扩展性编码和质量可扩展性编码。可以选择在时间、空间和信噪比 (SNR)中的一个或者几个方面实现扩展。考虑到编码效率和复杂性两方面,MPEG组织采纳了精细可扩展性编码(FGS)和渐进的精细可扩展性编码 (PFGS)[3]。精细可扩展性视频编码采用位平面(bitplane)编码,它的基本层使用基于分块运动补偿和DCT变换的编码方式达到网络传输的最 低要求,增强层使用位平面编码技术对DCT残差进行编码来覆盖网络带宽的变化范围,它每一帧的增强层码流可以在任何地点截断,解码器重建的视频质量和收到 并解码的比特数成正比,它可以实现连续的增强层速率控制。FGS虽然具有很好的可扩展性,但是效率太低,PFGS在保留了FGS所具有的网络带宽自适应和 错误恢复能力的同时,还有效地提高了编码效率。但是可扩展性编码的效率较非可扩展性编码而言,还有一定差距。为了进一步压缩FGS和PFGS的基本层码 流,有专家提出一种称为精细的空域可扩展性(Fine-Granularity Spatially Scalable,FGSS)的视频编码算法,使低分辨率和高分辨率的增强层码流都可以在任何地点截断,具有极强的网络带宽适应能力和错误恢复功能,同时 保持了空域可扩展性编码的多分辨率特性,它可以满足拥有不同网络带宽和不同分辨率接收设备的许多用户的需求,性能得到了更大的提高。

结 合多种视频编码技术来适应网络上的QoS波动是今后可扩展性视频编码的发展方向。比如,可扩展性视频编码可以适应网络带宽的变化;错误弹性编码可以适应丢 包;DCVC(Delay Cognizant Video Coding)可以适应网络时延。这三种技术的结合可以更好地提供一种应对网络QoS波动的解决方案。

2.2 应用层QoS控制技术由于目前的Internet只提供Best-effort的服务,所以需要通过应用层的机制来实现QoS的控制。QoS控制技术主要集中在对网络带宽的变化进行响应和处理分组丢失的技术上,主要可以分为两类:拥塞控制技术和差错控制技术。

拥 塞控制的目的是采用某种机制应对和避免网络阻塞,降低时延和丢包率。常用的拥塞控制机制有速率控制和速率整形。对于视频流,拥塞控制的主要方法是速率控 制。速率控制机制试图使一个视频连接的需求与整个连接链路的可用带宽相匹配,这样可以同时使网络拥塞和包丢失率达到最小。速率控制机制主要包括基于源端 的、基于目的的以及混合速率控制。在基于源端的控制机制中,视频源端收集反馈信息,进行控制计算并采取相应的控制动作。这种方法在因特网中被率先采用,但 是在异构网络中的运行情况并不是很好。基于目的端的控制机制则主要根据所接收的视频流的状况向上层反映相应的统计信息,实时调整缓冲及播放内容,并力图使 节奏均匀,这种机制使用较少。混合性速率控制的方法兼有前二者的特点,即目的端增加减少通道,而源端同时根据反馈调整各个通道的速率。混合速率控制方法的 一个例子是目标集分组的方法。

拥塞控制只能减少数据包的丢失,但是网络中不可避免的会存在数据包丢失,而且到达时延过大的分组也会被认为没有用而被丢弃,从而降低了视频质量。要改善视频质量就需要一定的差错控制机制。差错控制机制包括:

(1)前向纠错(FEC):FEC是通过在传输的码流中加入用于纠错的冗余信息,在遇到包丢失的情况时,利用冗余信息恢复丢失的信息。它的不足是增加了编码时延和传输带宽。

(2)延迟约束的重传。通常流的播放有时间限制,因此,仅有当重传的时间小于正常的播放时间时,重传才是有价值的。

(3) 错误弹性编码(Error-Resilient Encoding):在编码中通过适当的控制使得发生数据的丢失后能够最大限度的减少对质量的影响。在Internet环境下,最典型的方法是多描述编码 (MDC)。MDC把原始的视频序列压缩成多位流,每个流对应一种描述,都可以提供可接受的视觉质量。多个描述结合起来提供更好的质量。该方法的优点是实 现了对数据丢失的鲁棒性和增强的质量。其缺点是相比单描述编码(SDC),它在压缩的效率上受到影响。而且由于在多描述之间必须加入一定的相关性信息,这 进一步降低了压缩的效率。

(4)错误的取消(concealment):错误的取消是指当错误已经发生后,接受端通过一定的方法尽量削弱对人的视觉影响。主要的方法是时间和空间的插值(Interpolation)。近年来的研究还包括最大平滑恢复,运动补偿时间预测等。

2.3 连续媒体分布服务

连 续媒体分布服务(continuous media distribution services)的目的是在Internet 尽力服务的基础上提供QoS和高效的音/视频传输,包括网络过滤(Network Filtering)、应用层组播(Application-Level Multicast)、内容复制(Content Replication)等,下面分别进行详细介绍。

网络过滤:网络过滤是拥塞控制的一种,不仅可以提高视频质量,还可以提高带宽利用 率。不同于发送端的速率整形,网络过滤是在流服务器和客户端之间的传输路径上通过虚拟信道连入过滤器,该过滤器根据网络的拥塞状态实现速率的整形。网络过 滤通常采用的是丢帧过滤器(frame-dropping filter),其基本方法是客户端根据网络丢包率向过滤器发送请求来增减丢帧速率,以调节媒体流的带宽。这种速率整形可以在拥塞点进行,这样可以提高速 率控制的效率和拥塞控制的响应时间。

应用层组播:IP层的组播存在诸如可扩展性、网络管理和对高层应用的支持(例如差错控制,流量控制和 拥塞控制)等屏障。应用层组播机制打破了IP组播的一些障碍,其目的在于构建网络上的组播服务,可以以更灵活的方式实现组播控制。它允许独立的 CSPs和ASPs等建立它们的Internet组播网络,这些组播网络可以互连成为更大的媒体组播网络。媒体组播网络可以利用内容分布网络的互连,通过 在不同种类的服务提供者(比如ISPs、CSPs和ASPs等)之间的应用层的对等关系来构建。媒体组播网络中每个具有组播能力的节点称为媒体桥 (MediaBridge),它做为应用层的路由。每个媒体桥和一个或多个相邻的媒体桥通过明确的配置互连,这个互连建立了应用层重叠拓扑。媒体桥在媒体 组播网络中用分布式应用层组播路由算法来确定一条优化的虚拟组播路径。如果网络不通或者过度拥挤,媒体组播网络会自动的根据应用层路由规则来重新确定路 径。并且,只有当下游客户端需要某媒体内容时,媒体桥才会传输它。这就确保了不管客户端的数目而只有一个媒体流,从而节约了网络带宽。

内容复制:内容/媒体复制是提高媒体传输可扩展性的一项重要技术。内容复制具有以下优点:

(1)降低网络连接的带宽消耗。

(2)减轻流服务器负荷。

(3)缩短客户端时延。

(4) 提高有效性。它主要有两种形式:caching(缓存)和mirroring(镜像)。镜像是把原始媒体内容拷贝到网络上其他分散的备份服务器中。用户可 以从最近的备份服务器上获得媒体数据。缓存则是从原服务器中获得媒体文件,然后传输给客户端,同时在本地做备份。如果缓存中已经存在客户端需要的数据,缓 存就会把本地拷贝传给用户而不是从传送原服务器中的媒体数据。

2.4 流服务器视频服务器在服务中起着非常重要的作用。当视频服务器响应客户的视频流请求以后,它从存储读入一部分视频数据到对应于这个视频流的特定缓存中,再把缓存的内容通过网络接口发送给相应客户,保证视频流的连续输出。目前存在三种类型的视频服务器结构[4]:

(1)通用主机方法。采用计算机主机作为视频服务器。它的主要功能是存储、选择、传送数据。缺点是成本高而且不利于发挥主机功能。

(2)紧耦合多处理机。把一些可以大量完成某指令或者专门功能的硬件单元组合成的专用级联起来,就构成了紧耦合多处理机实现的视频服务器。这种服务器费用低、性能高、功能强,但是扩展性较差。

(3)调谐视频服务器。这种服务器主板上有一个独特微码的嵌入式仿真器控制。通过在主板中插入更多的服务通路,可以方便地进行扩展。

对于流服务器,如何更有效支持VCR交互控制功能;如何设计上多媒体对象高效可靠的存储和检索;如何设计更好的可伸缩多媒体服务器;如何设计兼有奇偶和镜像特性的容错存储是目前研究的重点。

2.5 媒体同步

所 谓媒体同步是指保持一个数据流或者不同媒体流之间的时间关系。通常有三种类型的同步控制:流内(intra-stream)同步、流间(inter- stream)同步和对象间(inter-object)同步。由于网络时延,导致媒体流在传输过程中失去同步关系,媒体同步机制可以确保客户端正确地恢 复媒体流的同步。媒体同步机制实际上就是在媒体内或者媒体间说明其时间关系。说明时间关系的方法有:基于间隔的方法、基于轴的方法、基于控制流的方法和基 于事件的方法。对于连续媒体,应用最为广泛的说明方法是基于轴的说明或时间戳。时间戳法是在每个媒体的数据流单元中加进统一的时间戳或时间码,具有相同时 间戳的信息单元将同时予以表现。在发送时,将各个媒体都按时间顺序分成单元,在同一个时间轴上,给每个单元都打上一个时间戳,处于同一时标的各个媒体单元 具有相同的时间戳。在各个媒体到达后,让具有相同时间戳的媒体单元同时进行表现,这样就得到了媒体之间同步的效果。对与而 言,同步机制包括阻止(preventive)机制和纠正(corrective)机制。前者是主要通过减小延迟和抖动来减少同步错误,后者主要是在发生 同步错误之后恢复同步。考虑到Internet传输的延迟随机性,同步错误是不可避免的。因此,在接受方的错误补偿是必须的。

另外, 同步多媒体集成语言SMIL(Synchronized Multimedia Integration Language)是由3W(World Wide Web Consortium)组织规定的多媒体操纵语言。可以实现多个流和文本信息在播放时的时间同步控制和空间位置布置。通过SMIL还可以实现一定的用户交 互功能。

2.6 相关协议

2.6.1 实时传输协议(RTP)与实时传输控制协议(RTCP)

RTP(Real-time Transport Protocol)和RTCP(Real-time Control Protocol)都是基于IP的应用层协议。RTP为实时音/视频数据提供端到端的传送服务,包括有效载荷类型标识、序列标号、时间标签和源标识,可以 提供时间信息和实现流同步。由于TCP中重传机制会引起时延,通常RTP运行于UDP之上,但是也可以在TCP或者ATM等协议之上运行。RTP本身并不 提供可靠的传送机制,也不提供流量控制或者拥塞控制,而是通过与RTCP配合使用,使传输效率最佳。RTCP用来监视服务质量和在会议过程中交换信息。它 提供QoS反馈、参与者标识、控制包缩放、媒体间同步等服务。RTCP包中包含已发数据包的数量、丢失数据包数量等统计资料。服务器可以根据这些信息动态 的改变传输速率甚至有效载荷类型。

2.6.2 实时流协议(RTSP)RTSP(Real-time Streaming Protocol)是由RealNetworks和Netscape共同提出的一个应用层协议。它可以在媒体服务器和客户端之间建立和控制连续的音/视频 媒体流,协同更低层协议RTP、RSVP等一起来提供基于Internet的整套流式服务。RTSP提供了一种可扩展框架,使得可控的、点播的实时数据的 传送成为可能。它提供用于音频和视频流的“VCR模式”远程控制功能,例如暂停、快进、快退和定位。支持单播和组播。RTSP还提供选择发送通道的方法 (如UDP、组播UDP和TCP)和基于RTP的发送机制。RTSP像是媒体服务器和客户端之间的“网络远程控制”,它提供多种服务,如从媒体服务器上检 索媒体、邀请媒体服务器进入会议、添加媒体到现成节目。RTSP在语法和操作上类似于HTTP,因此许多HTTP的扩展机制都可以移植于RTSP上。在 RTSP中,每个节目和媒体流由RTSP URL确定,全部节目和媒体特性都在节目描述文件中给予了描述,包括编码、语言、RTSP URLs、目的地址、端口号以及其他参数。但是,不同于HTTP的无状态和非对称,RTSP是有状态的、对称的协议。RTSP的服务器保持会话状态以连接 RTSP流的请求,并且服务器和客户端都可以发出请求。

2.6.3 资源预留协议(RSVP)资源预留协议[5](Resource Reserve Protocol)是运行于传输层的一个网络控制协议。RSVP允许数据流的接受方请求特殊的端到端QoS。RSVP是非路由协议,它同路由器协同工作, 在传输路径的路由器上预留必要的带宽,减少网络的时延和抖动。RSVP的流程是单一的,并不区分发送方和接受方,且支持单播和组播,适应于可变成员个数和 路由。RSVP领域的发展非常迅速,但是目前它的应用只限于在测试的小Intranet网络上。

3 结论技术的进步和用户的需求促进了应用的迅速发展。在远程教育、数字图书馆、电子商务、视频点播、交互电视、远程医疗、网络音/视频、实时多媒体会议等方面,技术都起到很重要的作用。本文对网络中业务的关键技术和相关协议做了研究,并探讨了未来技术发展的方向。我们相信,随着应用的不断普及,宽带技术及其应用必然会在未来的网络中发挥更重要的作用,并在一定程度上改变人们使用网络的方式。
阅读(1864) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

protheschildren2011-09-06 13:45:00

学习了,,