RTP协议
概述

- 
RTP:实时传输协议(Real-time Transport Protocol) - RTP/RTCP 是实际传输数据的协议
- RTP 传输音频 / 视频数据,如果是 PLAY,Server 发送到 Client 端,如果是 RECORD,可以由 Client 发送到 Server
- 整个 RTP 协议由两个密切相关的部分组成:RTP 数据协议和 RTP 控制协议(即 RTCP)
 
- 
RTSP:实时流协议(Real Time Streaming Protocol,RTSP) - RTSP 的请求主要有 DESCRIBE,SETUP,PLAY,PAUSE,TEARDOWN,OPTIONS 等,顾名思义可以知道起对话和控制作用
- RTSP 的对话过程中 SETUP 可以确定 RTP/RTCP 使用的端口,PLAY/PAUSE/TEARDOWN 可以开始或者停止 RTP 的发送,等等
 
- 
RTCP:RTP 控制协议(RTP Control Protocol) - RTP/RTCP 是实际传输数据的协议
- RTCP 包括 Sender Report 和 Receiver Report,用来进行音频 / 视频的同步以及其他用途,是一种控制协议
 
RTP
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |V=2|P|X| CC |M| PT | sequence number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | timestamp | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | synchronization source (SSRC) identifier |
 +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
 |      contributing source (CSRC) identifiers                   |
 |                      ....                                     |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 从 RTP 数据报的格式不难看出,它包含了传输媒体的类型、格式、序列号、时间戳以及是否有附加数据等信息,这些都为实时的流媒体传输提供了相应的基础。
字段解析
| 字段 | 位宽 | 含义 | 
| V | 2 | 此域定义了RTP的版本。此协议定义的版本是2。 | 
| P | 1 | 填充标志,如果 P=1,则在该报文的尾部填充一个或多个额外的八位组,它们不是有效载荷的一部分。 | 
| X | 1 | 扩展标志,如果 X=1,则在 RTP 报头后跟有一个扩展报头。 | 
| CC | 4 | CSRC计数包含了跟在固定头后面CSRC识别符的数目。 | 
| M | 1 | 标记,不同的有效载荷有不同的含义,对于 视频,标记一帧的结束;对于音频,标记会话的开始。 | 
| PT | 7 | 有效载荷类型,用于说明 RTP 报文中有效载荷的类型,如 GSM 音频、JPEM 图像等。 | 
| sequence number | 16 | 每发送一个RTP数据包,序列号加1,接收端可以据此检测丢包和重建包序列。序列号的初始值是随机的(不可预测),以使即便在源本身不加密时(有时包要通过翻译器,它会这样做),对加密算法泛知的普通文本攻击也会更加困难。 | 
| timestamp | 32 | 时戳反映了该 RTP 报文的第一个八位组的采样时刻。接收者使用时戳来计算延迟和延迟抖动,并进行同步控制。 视频:sps pps和后面的I帧的时间戳是相同的,一个NALU分包发送的时间戳也是一样的。 | 
| SSRC | 32 | 用以识别同步源。标识符被随机生成,以使在同一个RTP会话期中没有任何两个同步源有相同的SSRC识别符。尽管多个源选择同一个SSRC识别符的概率很低,所有RTP实现工具都必须准备检测和解决冲突。若一个源改变本身的源传输地址,必须选择新的SSRC识别符,以避免被当作一个环路源。 | 
| CSRC | 32 | 每个 CSRC 标识符占 32 位,可以有 0~15 个。每个 CSRC 标识了包含在该 RTP 报文有效载荷中的所有特约信源。 | 
 
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号