SIP / SDP中提供的H.264 SPS / PPS语法

时间:2012-05-15 17:44:30

标签: video sip h.264 rtp sdp

根据RFC 6184:

  

H.264的附件B定义了一个传输这种传输的封装过程   NALU通过面向字节流的网络。在此范围内   备忘录,附件B无关紧要。

我看到很多关于SPS / PPS的examplex,包括在RFC6236中,如此

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

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

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

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

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语法