H.26x中SEI信息解读

SEI

H.264

http://www.itu.int/rec/T-REC-H.264

1.png
  1. NAL header

    起始码(暗红底色)"0x00000001"分割出来的比特流即是NAL unit,起始码紧跟的第一个字节(墨绿底色)是NAL header。上图“NAL header”一共出现了四个数值:

    • "0x06",此时NRI为"00B",NAL unit type为SEI类型。
    • “0x67”,此时NRI为“11B”,NAL unit type为SPS类型。
    • “0x68”,此时NRI为“11B”,NAL unit type为PPS类型。
    • “0x65”,此时NRI为“11B”,NAL unit type为IDR图像。
  2. SEI payload type

    "0x06"后一个字节为“0x05”(淡黄底色)是SEI payload type,即表征SEI payload分析遵循user_data_unregistered()语法。

    在国标中。sei payload type为5,为自定义消息:如图

    2.png

3.png
  1. SEI payload size

    “0x05”后一个字节为“0x2F”(淡蓝底色)是SEI payload size,此时整个payload是47个字节。

    • SEI payload uuid

      "0x2F"随后的16个字节即为uuid,此时uuid为:

      dc45e9bde6d948b7962cd820d923eeef
      
    • SEI payload content

      由于payload size是47个字节,除去16字节的uuid,剩下31个字节的content。由于content是字符串,所以有结束符"0x00",有效的30个字符内容是

      Zencoder Video Encoding System
      
    • rbsp trailing bits
      47个payload字节后的"0x80"(灰底色)即是rbsp trailing bits,在user_data_unregistered()里面都是按字节写入的,所以此时的NAL unit结尾写入的字节一定是0x80。

H.265

http://www.itu.int/rec/T-REC-H.265

  1. H265一个图像序列的组成:VPS+SPS+PPS+SEI+一个I帧+若干个P帧。VPS、SPS、PPS、SEI、一个I帧、一个P帧都可以称为一个NALU。

  2. H265的NALU结构:开始码+NALU头+NALU数据

    1. 开始码大小为四个字节,是一个固定值00 00 00 01(十六进制),标识一个NALU的开始。
    2. NALU头大小为两个字节,共16位,第1位值为0,第2-7位为NALU的type位(共6位),标识当前NALU的类型,第8-15位值为0,第16位值为1。
    3. NALU数据为编码器编出来的图像信息或图像数据。
  3. 六种类型的NALU

    1. VPS(视频参数集):NALU头值为0x40 01(十六进制),NALU头type位值为32(十进制)。
    2. SPS(序列参数集):NALU头值为0x42 01(十六进制),NALU头type位值为33(十进制)。
    3. PPS(图像参数集):NALU头值为0x44 01(十六进制),NALU头type位值为34(十进制)。
    4. SEI(补充增强信息):NALU头值为0x4e 01(十六进制),NALU头type位值为39(十进制)。
    5. I帧:NALU头值为0x26 01(十六进制),NALU头type位值为19(十进制)。
    6. P帧:NALU头值为0x02 01(十六进制),NALU头type位值为1(十进制)。
  4. H265的NALU打包成RTP包的模式(下面是用到的两种模式)

    1. 一个NALU打包成一个RTP包,只需要在一个12字节的RTP包头后添加去掉开始码的NALU即可(这种模式在一个NALU的大小小于MTU时使用)。
    2. 一个NALU打包成几个RTP包(FUs模式),在12个字节的RTP头后面有两个字节的PayloadHdr和一个字节的FU header。PayloadHdr的值等于NALU头的type位改为49(十进制)后的值,FU header第1位标记RTP包是否为NALU的第一片,第2位标记RTP包是否为NALU的最后一片。后6位是NALU头的type位。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 人间观察我好像还什么都没有准备好,就到了而立之年的年纪,不是吃一个糖就能开心的年纪了。 前面我们了解了H264/A...
    后厂村追寻阅读 3,245评论 0 4
  • 1.什么是NAL NAL全称Network Abstract Layer,即网络抽象层。 在H.264/AVC视频...
    agiletiger阅读 633评论 0 0
  • 人间观察因为穷,人会放弃体面: 个人形象的体面,工作的体面,社交的体面,尊严的体面。 在分析H.264码流前,我们...
    后厂村追寻阅读 2,455评论 0 10
  • 从摄像头获取的视频数据,经过编码后(当然,也可以不编码,如果你觉得也很ok的话),可以视频录制,同时如果需要,当然...
    oliverabc阅读 533评论 0 0
  • 转载自(https://juejin.im/post/6844903853775650824) 需求 在移动端做音...
    hijiang阅读 17,470评论 1 9

友情链接更多精彩内容