在符合 RFC 3984 和 RFC 3550 的 RTP 数据包中发送 H264 视频

Sending H264 video in RTP packets compliant with RFC 3984 and RFC 3550

我正在尝试了解 RFC3984 如何与 RFC3550 协同工作。

我注意到 RFC3550 中有一个扩展位,您可以设置它来扩展 header。我是否需要将此位设置为高电平然后包含可选的 header 扩展名?这是否可以通过将 "defined by profile" 设置为 3984,将长度设置为适当的 3984 header 的大小,然后将来自 RFC3984 的 header 信息作为 header 延期?

如果不是,我是否只在 RFC3550 header 之后立即附加适当的 RFC3984 header,同时保留扩展位 0?

RFC 3984 指定了 h.264 数据的 RTP 负载格式。此格式进入 RTP 数据包的有效载荷部分,它遵循 RFC 3550 中定义的 RTP header。RFC 3984 的 Section 5 显示了如何构造 RTP header 和有效载荷以创建完整数据包。

RTP 的负载类型字段 header 实际上传达了 RTP 负载格式是什么。对于 h.264 数据,没有静态分配的负载类型,而是使用动态类型。动态类型通过 out-of-band 通信映射到底层格式。对于 RTSP,此映射通过 SDP(Session 描述协议)消息进行通信。

有关扩展位的用法,请参见 RFC 3550 的 Section 5.3.1,但使用 RFC 3984 中指定的有效负载格式不需要它。