RTP协议校对翻译(二)

陶朱子


2.RTP使用场景(RTP Use Scenarios)

以下章节描述了用到RTP的一些方面。所举例子用来说明使用RTP的应用的基本操作,但RTP可能的用途不限于此。在这些例子中,RTP运行于IP和UDP之上,并且遵循RFC3551所描述的音频和视频的描述文件(profile)中的约定。
2.1 简单多播音频会议(Simple Multicast Audio Conference)
IETF的一个工作组开会讨论最新协议草案时,使用Internet的IP多播服务来进行语音通讯。通过某些分配机制,工作组中心会得到一个多播组地址和一对端口。一个端口用于音频数据,另一个端口用于控制(RTCP)数据包。该地址和端口信息发布给预定的参与者。如果有私密性要求,则可用9.1节中说明的方法,对数据和控制包进行加密,这时就需要生成和发布加密密钥。这一分配和发布机制的精确细节不在RTP的讨论范围之内。
每个与会者所使用的音频会议应用,都会以小块形式(比方说持续20秒时间) 来发送音频数据。每个音频数据块都前导RTP报头;RTP报头和数据依次包含在UDP包里。RTP包头部指明了各个包里音频编码的类型(如PCM、ADPCM、LPC),这样发送方可以在会议过程中改变编码方式,以适应某些情况的变化,例如,要加进一个低带宽接入的参与者,或是要应付网络拥塞。
Internet,像其他的报文分组网络一样,偶而会丢失和重排包,造成时长不等的延迟。为弥补这个不足,RTP包头部里包含计时信息和一个序列号,允许接收方重建来自源的计时信息,比如前文例子中音频块以20s的间隔在扬声器中连续播放。对会议中的每个RTP包的源,单独地实施计时重建。序列号还被接收方用来估计丢失包数目。
由于会议期间不断有工作组成员加入或离开,因此有必要知道任一时刻的实际参与者及他们接收音频数据的状况好坏。出于这个目的,会议中每个音频应用的实例,都在RTCP(控制)端口上周期性 地多播一个附加用户名的接收报告。接收报告指明了当前说话者被收听到的状况,可用于控制自适应性编码 。除了用户名外,在控制带宽的限定下,还可以包含其他标识信息。一个站点在离开会议时发送RTCP BYE包(章节6.5)。
2.2 音频和视频会议(Audio and Video Conference)
一个会议如果同时使用音频和视频媒体,则二者传输时使用不同的RTP会话 。也就是说,两种媒体中RTP包和RTCP包的传输,是使用两个不同的UDP端口对和(或)多播地址。在RTP层次,音频和视频会话没有直接的耦合,下面这种情况除外:一个同时参加两个会话的参与者,在两个会话的RTCP包中,使用了相同的规范名 ,这样两个会话就发生关联(耦合)了。
这样区隔开来的目的之一,是允许一些会议参与者只接受自己选择的单一媒体(或者音频,或者视频)。更进一步的说明在5.2节给出。尽管两种媒体区分开来了,但通过两个会话RTCP包内载有的计时信息,同源的音频与视频还是能够同步回放 。
2.3 混频器和转换器(Mixers and Translators)
到目前为止,皆假设所有站点都收到相同格式的媒体数据。然而这并不总是行得通。考虑一下这种情况,一个地方的参与者只能低速接入会议,而其他大部分参与者都能享受高速连接。与其让强迫大家都忍受低带宽、减质量的音频编码,不如在只能低速接入的地方,放置一个RTP层次的中继(称作混频器 )。混频器将重新同步输入的音频包,重建发送方产生的20ms固定间隔,把解码重建的多个音频流混合为一个单一流,并把音频转换为低带宽的编码方式,最后通过低带宽连接转发数据包流(package stream)。这些包可能被单播到一个接收方,也可能多播到另一个地址而发给多个接收方。RTP包头部为混频器提供了一种方法,使其能辨识出对混频后的包有用的源,从而保证提供给接收方正确的说话者指示。
在音频会议中,一些预定参与者尽管有高带宽连接,但不能通过IP多播直接接入会议。例如,他们可能位于一个不允许任何IP包通过的应用层防火墙后面。对这些站点,可能就不需要混频器了,而需要另一种称为转换器的RTP层次中继。可以在防火墙两侧分别安装一个转换器,外侧转换器将所有多播包通过安全连接转入内侧转换器,内侧转换器再转发给内部网的一个多播组(multicast group)。
混频器和转换器可以设计成用于各种目的。比如,一个视频混频器在测量多个不同视频流中各人的单独影像后,将它们组合成一个单一视频流来模拟群组场景。又如,在只用IP/UDP和只用ST_II的两个主机群之间通过转换建立连接。再如,在没有重新同步或混频时,用packet-by-packet编码转换来自各个独立源的视频流。混频器和转换器的操作细节见第7节。
2.4 分层编码(Layered Encodings)
为了匹配接收方的能力(容量)或适应网络拥塞,多媒体应用应当能够调整其传输速率。许多实现把调适传输速率的责任放在源端。这种做法在多播传输中并不好,因为各种不同的接收方对带宽存在着冲突性需求。这经常导致最小公分母的场景,网格中最小的管道支配了全部实况多媒体“广播”的质量和保真度。
相反地,可以把分层编码和分层传输系统组合起来,从而把调适速率的责任放在接收端。在IP多播之上的RTP上下文中,对一个横跨多个RTP会话(每个会话在独自多播组上开展)的分级表示信号(a hierarchically represented signal),源能够把它的分层(layers)分割成条。接收方仅需合并适当的多播组子集,就能适应异种网络和控制接收带宽。
RTP分层编码的细节在6.3.9节、8.3节和11节中给出。

你可能感兴趣的:(RTP协议)