关于RTP扩展头的结构的问题,如RFC 8285中所述

问题描述 投票:0回答:1

在处理RTP标头扩展的RFC 8285中,1字节标头扩展的结构如下所示(第4.2节):

  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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |       0xBE    |    0xDE       |           length=3            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |  ID   | L=0   |     data      |  ID   |  L=1  |   data...
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        ...data   |    0 (pad)    |    0 (pad)    |  ID   | L=3   |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                          data                                 |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

我了解RFC中解释的OxBEDE。然后是“ length = 3”位,后面是实际的扩展名。每个扩展名都由ID和长度组成。为两字节报头扩展定义了类似的结构。

在两种类型的标题中,我都不理解“ length = 3”位部分。它只是用于32位边界的填充吗?如果是这样,这有什么目的?易于解析?为什么不让扩展元素在xBEDE之后立即启动。当然可以节省空间。可能是我缺少一些基本知识。

webrtc rtp rtcp
1个回答
0
投票

这可能可以追溯到RFC 3550

像这样通过明确指定长度字段,不了解扩展名的客户端可以更轻松地跳过它们。

© www.soinside.com 2019 - 2024. All rights reserved.