5.2. Payload Structures (负载结构)
5.2. Payload Structures (负载结构)
本负载格式定义三种基本负载结构。接收端可通过 RTP 包负载的第一个字节识别负载结构, 该字节兼作 RTP 负载头, 并在某些情况下兼作负载的第一个字节。该字节始终按 NAL 单元头格式组织。NAL 单元类型字段指示存在何种结构。可能结构如下。
单 NAL 单元包 (Single NAL Unit Packet): 负载中仅含单个 NAL 单元。NAL 头类型字段等于原始 NAL 单元类型, 即在 1 至 23 范围内 (含端点)。规定于第 5.6 节。
聚合包 (Aggregation Packet): 用于将多个 NAL 单元聚合到单个 RTP 负载中的包类型。本包有四种变体: 单时刻聚合包 A 型 (STAP-A), 单时刻聚合包 B 型 (STAP-B), 带 16 位偏移的多时刻聚合包 (MTAP16), 以及带 24 位偏移的多时刻聚合包 (MTAP24)。为 STAP-A, STAP-B, MTAP16, MTAP24 分配的 NAL 单元类型号分别为 24, 25, 26, 27。规定于第 5.7 节。
分片单元 (Fragmentation Unit): 用于在多个 RTP 包上分片单个 NAL 单元。存在两个版本 FU-A 与 FU-B, 分别以 NAL 单元类型号 28 与 29 标识。规定于第 5.8 节。
说明性注: 本规范不限定单 NAL 单元包与分片单元中所封装 NAL 单元的大小。任何聚合包中所封装 NAL 单元的最大大小为 65535 字节。
表 1 汇总了当这些 NAL 单元各自直接用作包负载时的 NAL 单元类型及对应 RTP 包类型, 类型在本备忘录中描述。
表 1. NAL 单元类型与对应包类型概要
| NAL 单元类型 | 包类型 | 包类型名称 | 节 |
|---|---|---|---|
| 0 | 保留 | - | |
| 1-23 | NAL 单元 | 单 NAL 单元包 | 5.6 |
| 24 | STAP-A | 单时刻聚合包 | 5.7.1 |
| 25 | STAP-B | 单时刻聚合包 | 5.7.1 |
| 26 | MTAP16 | 多时刻聚合包 | 5.7.2 |
| 27 | MTAP24 | 多时刻聚合包 | 5.7.2 |
| 28 | FU-A | 分片单元 | 5.8 |
| 29 | FU-B | 分片单元 | 5.8 |
| 30-31 | 保留 | - |