首页 > 其他分享 >H.26x中SEI信息解读(转)

H.26x中SEI信息解读(转)

时间:2023-11-07 21:47:41浏览次数:42  
标签:H.26 字节 NAL 解读 NALU type payload SEI

原文:https://www.jianshu.com/p/23d9ab930b49

作者:Li_Xianglin

来源:简书

H.264 SEI

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

 

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图像。

 

SEI payload type

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

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

 

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位。

标签:H.26,字节,NAL,解读,NALU,type,payload,SEI
From: https://www.cnblogs.com/ajianbeyourself/p/17816093.html

相关文章

  • x86宕机日志解读1
    下面以一个典型的x86服务的宕机日志为例进行解读:[330931.874444]BUG:unabletohandlekernelpagingrequestatffffffffa22a4668[330931.874532]PGD3a23067P4D3a23067PUD3a24063PMD1ee9909067PTE0[330931.874618]Oops:0000[#1]SMPKASANNOPTI[330931.8746......
  • ​​Android平台GB28181历史视音频文件回放规范解读及技术实现
     技术背景在实现GB28181历史视音频文件回放之前,我们已完成了历史视音频文件检索和下载,历史视音频回放,在GB28181平台非常重要,比如执法记录仪等前端设备,默认录像数据存储在前端设备侧,如果需要上传到平台统一保存,除了到工作站拷贝外,还可以通过GB28181的历史视音频文件下载到指挥中心......
  • YOLOv8运行参数解读
    从YAML中构建一个新模型,并从头开始训练yolodetecttraindata=coco128.yamlmodel=yolov8n.yamlepochs=100imgsz=640#从预先训练的*.pt模型开始训练yolodetecttraindata=coco128.yamlmodel=yolov8n.ptepochs=100imgsz=640#从YAML中构建一个新的模型,将预训练的权......
  • 月薪3w的报表工程师要会哪些技能?报表工程师的招聘要求解读
    对于月薪3w的报表工程师,通常需要具备以下技能:1.数据分析与处理-数据仓库:了解数据仓库的设计原则和架构,能够构建和优化数据仓库结构。-SQL语言:熟练掌握SQL查询语言,能够编写复杂的查询语句,进行数据提取、过滤、聚合等操作。-数据清洗与转换:具备数据清洗和转换的能力,包括处理......
  • 昇腾迁移丨4个TensorFlow模型训练案例解读
    本文分享自华为云社区《TensorFlow模型训练常见案例》,作者:昇腾CANN。基于TensorFlow的PythonAPI开发的训练脚本默认运行在CPU/GPU/TPU上,为了使这些脚本能够利用昇腾AI处理器的强大算力,需要将其迁移到昇腾平台。本期分享几个TensorFlow网络迁移到昇腾平台后执行失败或者执行性......
  • c++ STL源码解读
    红黑树map,key不能添加相同的key,如果添加不会报错,但是添加不进去 #include<iostream>#include<map>#include<set>usingnamespacestd;intmain(intargc,charconst*argv[]){map<int,int>a;a.insert(make_pair(1,1));a.insert(make_pair(1,......
  • 技术教程 —— 如何利用 SEI 实现音画同步?
     摘要:利用SEI解决数据流录制回放过程中的音画不同步问题。 文|即构Web SDK开发团队今年 6 月, ZEGO即构科技推出了行业内首套数据流录制PaaS 方案,打破传统录制服务传统,实现 100%录制还原效果(点击查看方案介绍文章)。在实现数据流录制回放的过程中,我们需要将音视频画面......
  • 小程序底层技术机制解读 - 跨平台兼容性
    小程序是一种流行的移动应用形式,它的跨平台兼容性是其吸引力之一。在本文中,我们将深入探讨小程序的跨平台兼容性,以及如何利用这一特性来构建跨平台的应用程序。什么是跨平台兼容性?跨平台兼容性是指一个应用程序可以在多个不同的操作系统和设备上运行,而不需要进行大规模的修改或重新......
  • 【专题】2023新消费趋势解读-猜不透的消费者报告PDF合集分享(附原数据表)
    原文链接:https://tecdat.cn/?p=34074近年来,随着中国消费升级的趋势,新兴消费品牌在市场上逐渐崭露头角。这些品牌以挑战者的身份进入市场,通过创新的供应链、产品和营销策略,以用户为核心满足新的消费需求,实现了短期内的强劲增长和销售规模的快速扩张。然而,经济环境、疫情冲击和激烈......
  • 解读智慧农业:中国智慧农业发展的痛点与困局
    近年来,中国的智慧农业发展迅速,但同时也暴露出一些痛点和困局,需要进一步解决。本文将从技术、数据等方面逐一探讨。一、技术方面1.技术不成熟:在智慧农业领域,涉及到众多前沿技术和领域的交叉,例如物联网、大数据、云计算、人工智能等。目前,这些技术还处于不成熟、不稳定的阶段,难......