1. 基于 RTP 的视音频数据PS 封装
基于 RTP 的 PS 封装首先按照ISO/IEC13818-1:2000 将视音频流封装成 PS 包, 再将 PS 包以负载的方式封装成 RTP 包。
进行 PS 封 装 时, 应 将 每 个 视 频 帧 封 装 为 一 个 PS 包, 且 每 个 关 键 帧 的 PS 包 中 应 包 含 系 统 头(System Header) 和 PSM(Program Stream Map) , 系统头和 PSM 放置于 PS 包头之后、 第一个 PES 包之前。
典型的视频关键帧 PS 包结构如图 C.1 所示, 其中 PESV 为视频 PES 包,PESA 为音频 PES 包, 视频非关键帧的 PS 包结构中一般不包含系统头和 PSM。 PS 包中各部分的具体数据结构参见ISO/IEC13818-1: 2000 中的相关描述。
系统头应包含对 PS 包中码流种类的描述, 其中视频和音频的流ID(stream_id) 取值如下:
a) 视频流ID:0xE0;
b) 音频流ID:0xC0。
针对本文档规定的几种视音频格式,PSM 中流类型(stream_type) 的取值如下:
a) MPEG-4 视频流:0x10;
b) H.264 视频流:0x1B;
c) SVAC 视频流:0x80;
d) G.711 音频流:0x90;
e) G.722.1 音频流:0x92;
f) G.723.1 音频流:0x93;
g) G.729 音频流:0x99;
h) SVAC 音频流:0x9B。
PS 包封装的其他具体技术规范详见ISO/IEC13818-1:2000。
PS 包的 RTP 封装格式参照IETF RFC2250,RTP 的主要参数设置如下:
a) 负载类型(payloadtype) :96;
b) 编码名称(encoding name) :PS;
c) 时钟频率(clockrate) :90 kHz;
d) SDP 描述中“m”字段的“media”项:video。
2. 基于 RTP 的视音频基本流封装
该方式直接将视音频数据以负载的方式封装成 RTP 包。
C.2.1 MPEG-4 视频流的 RTP 封装
MPEG-4 视频流的 RTP 封装格式应符合IETF RFC3016 协议中的相关规定。
MPEG-4 视频流 RTP 包的负载类型(Payload Type) 标识号选定: 从IETF RFC 3551—2003 表5
中的动态范围(96~127) 中选择, 建议定为97。
C.2.2 H.264 视频流的 RTP 封装
H.264 的 RTP 载荷格式应符合IETF RFC3984 中的相关规定。
H.264 视频流RTP 包的负载类型(Payload Type) 标识号选定: 从IETF RFC3551—2003 表5 中的动态范围(96~127) 中选择, 建议定为98。
C.2.3 SVAC 视频流的 RTP 封装
SVAC 视频流的 RTP 载荷格式可参照IETF RFC3984 中的相关规定。
SVAC 视频流 RTP 包的负载类型(Payload Type) 标识号选定: 从IETF RFC 3551—2003 表5 中
的动态范围(96~127) 中选择, 建议定为99。
C.2.4 音频流的 RTP 封装
语音比特流宜采用标准的 RTP 协议进行打包。
在一个 RTP 包中, 音频载荷数据应为整数个音频编码帧, 且时间长度在20 ms~180 ms 之间。 音频载荷数据的 RTP 封装参数如下:
a) G.711 的主要参数
G.711 A 律语音编码 RTP 包的负载类型(Payload Type ) 的参数规定如下(见IETF RFC3551—
2003 中的表4) :
1) 负载类型(PT) :8;
2) 编码名称(encoding name) :PCMA;
3) 时钟频率(clockrate) :8 kHz;
4) 通道数:1;
5) SDP 描述中“m”字段的“media”项:audio。
b) SVAC 音频的主要参数
SVAC 语音编码 RTP 包的负载类型(Payload Type) 的参数规定如下:
1) 负载类型(PT) :20;
2) 编码名称(encoding name) :SVACA;
3) 时钟频率(clockrate) :8 kHz;
4) 通道数:1;
5) SDP 描述中“m”字段的“media”项:audio。
c) G.723.1 的主要参数
G.723.1 语音编码 RTP 包的负载类型(Payload Type) 的参数规定参照IETF RFC3551—2003
表4 中的 G.723, 具体如下:
1) 负载类型(PT) :4;
2) 编码名称(encoding name) :G723;
3) 时钟频率(clockrate) :8 kHz;
4) 通道数:1;
5) SDP 描述中“m”字段的“media”项:audio。
d) G.729 的主要参数
G.729 语音编码 RTP 包的负载类型(Payload Type) 的参数规定如下( 见IETF RFC 3551—
2003 中的表4) :
1) 负载类型(PT) :18;
2) 编码名称(encoding name) :G729;
3) 时钟频率(clockrate) :8 kHz;
4) 通道数:1;
5) SDP 描述中“m”字段的“media”项:audio。
e) G.722.1 的主要参数
G.722.1 语音编码 RTP 包的负载类型(Payload Type) 的参数规定参照IETF RFC3551—2003
表4 中的 G.722, 具体如下:
1) 负载类型(PT) :9;
2) 编码名称(encoding name) :G722;
3) 时钟频率(clockrate) :8 kHz;
4) 通道数:1;
5) SDP 描述中“m”字段的“media”项:audio。
**摘自国标28181-2016
***关注DZ君,让监控变得更简单***