By xxj & faxiao
第一章 RTP 协议
§ 3.1 RTP 协议概述
RTP 协议是由 IETF 开发的,1996 年成为 RFC 正式文档,是用于 Vo I P,视
频等实时媒体传送的协议。
RTP 为交互式音频、视频等具有实时特性的数据提供端到端的传送服务。在
IP 网络上,一般是在 UDP 之上运行 RTP 协议。如果支持它的网络能提供组播功
能,则 RTP 也可用组播将数据送给多个目的用户。
RTP包括两个关系十分密切的子协议:
实时传输协议(RTP):用于传输实时数据。
实时控制协议(RTCP):用于监视网络的服务质量,并传递与会者会话中的
信息。
下面首先给出有关 RTP 的一些定义。
• RTP 会话(RTP session):RTP 传输服务使用者之间的连接被称为 RTP 会
话,就每一个会话参加者而言,会话由一对传输层地址(即一个网络层地址加上
两个端口地址,一个端口为 RTP 报文的发送/接收所占用,另一个端口为 RTCP
报文的发送/接收所占用)标识。在 IP 多播方式中,每个参与者的目的地运输层
地址对可以都相同;在单播方式中,每个参与者的地址对均不相同,因为每个人
的网络层地址都不相同。在多媒体会话中,每个媒体信号由不同的 RTP 会话传
送,有其自己的 RTCP 分组。各 RTP 会话由不同的端口对和/或不同的多播地址
区分。
• RTP 媒体类型: 由一个 RTP 会话传送的所有净荷类型的集合。RTP 应用
文档指定 RTP 媒体类型和 RTP 净荷类型的关系。
• RTP 净荷:由 RTP 传送的数据,如音频抽样信号,压缩视频数据等。净荷
格式及其解释由应用层规定。
• RTP 分组: 由 RTP 头部和净荷数据组成。通常下层传送协议的一个数据
包(如一个 UDP 包)只含一个 RTP 分组;如果采用一定的封装方法,也可以包
含多个 RTP 分组。
• 同步源 SSRC(Synchronization source ):RTP 包的信源流,在 RTP 头中用
32 比特长的同步源标识符表示,与网络地址无关。该字段用以标识信号的同步
源,其值应随机选择,以保证 RTP 会话中任意两个同步源的 SSRC 标识都不相
同。
• 提供源 CSRC(Contributing source):分信源标识,32 比特。
RTP 分组头部 最多可包含 15CSRC 标识,其数目由 CC 字段指明。如果分
信源的个数大于 15,只能标识其中 5 个源。CSRC 标识由混合器插入,其值就是
组成复合信号的各个分信号的 SSRC 标识,用以标识各个组成分信号的信源。
• 混合器(Mixer)和翻译器(Translator):这是 RTP 在接收方和发送方之间
引入的两类功能模块。混合器接收来自一个或多个发送方的 RTP 组块,并把它
们组合成一个新的 RTP 分组继续转发。这种组合组块将有一个新的 SSRC ID。
因为这些来自不同信源的组块可以非同步到达,所以混合器改变了该数据流的临