【问题标题】:Syntax of H.264 SPS/PPS in SIP/SDP offerSIP/SDP 提议中 H.264 SPS/PPS 的语法
【发布时间】:2012-05-23 06:42:55
【问题描述】:

根据 RFC 6184:

H.264 的附件 B 定义了一个封装过程来传输此类 面向字节流的网络上的 NALU。在这个范围内 备忘,附件 B 不相关。

我看到很多这样的 SPS/PPS 示例,包括在 RFC6236 中

a=fmtp:99 packetization-mode=0;profile-level-id=42e011; \
      sprop-parameter-sets=Z0LgC5ZUCg/I,aM4BrFSAa  

但是,根据 H.264 附件 B,不应该有逗号,并且必须在 SPS 和 PPS 的开头添加前导码(然后将 SPS/PPS 转换为 base 64)。

所以我不明白什么是正确的做法。

【问题讨论】:

    标签: video sip h.264 rtp sdp


    【解决方案1】:

    上面是简短的回答,这些是规范参考:

    RFC 3984:

    sprop 参数集:

    这个参数可以用来传达 任何序列和图片参数集 NAL 单位(以下简称初始 参数集 NAL 单元)必须在任何 其他 NAL 单元按解码顺序。这 参数不得用于指示编解码器 任何能力交换中的能力 程序。参数的值为 base64 [6] 表示初始 参数集 NAL 单位,如 [1] 的第 7.3.2.1 和 7.3.2.2 节。这 参数集按解码顺序传送, 并且没有参数集 NAL 单元的框架 发生。 逗号用于分隔任何 列表中的一对参数集。请注意 参数集 NAL 单元中的字节数 通常小于 10,但图片 参数集 NAL 单元可以包含几个 数百字节。

    上面的 [1] 是 H.264 规范参考,其 7.3.2.1 和 7.3.2.2 部分定义了比特流没有起始码前缀。

    7.3.2 原始字节序列有效载荷和 RBSP 尾随位语法 7.3.2.1 序列参数集RBSP语法 7.3.2.2 图片参数集RBSP语法

    【讨论】:

      【解决方案2】:

      逗号应该在那里。前缀仅适用于 MPEG-2。

      【讨论】:

        【解决方案3】:

        将 sps 和 pps 分隔为两个字节数组。 将它们转换为base 64。 为每一个添加前缀“001”。

        【讨论】:

          【解决方案4】:

          逗号分隔 SPS 和 PPS。它们是两个独立的单元(采用附件 B 格式)。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-03-25
            • 1970-01-01
            • 2013-02-12
            • 2014-09-24
            • 2020-06-18
            • 1970-01-01
            • 2011-06-28
            • 1970-01-01
            相关资源
            最近更新 更多