一、H265码流格式

VPS:视频参数集,用于传输视频分级信息,有利于兼容标准在可分级视频编码或多视点视频的扩展。

NALU header定义:

NALU header(){ Descriptor
forbidden_zero_bit f(1)
nalu unit type u(6)
nuh_layer_id u(6)
nuh_temporal_id_plus1 u(3)

H264的NALU type是首字节&0x1f,H265的NALU type是(首字节&0x7E)>>1;

NALU type定义:

/**
* Table 7-3: NAL unit type codes
*/
enum HEVCNALUnitType {
HEVC_NAL_TRAIL_N = ,
HEVC_NAL_TRAIL_R = ,
HEVC_NAL_TSA_N = ,
HEVC_NAL_TSA_R = ,
HEVC_NAL_STSA_N = ,
HEVC_NAL_STSA_R = ,
HEVC_NAL_RADL_N = ,
HEVC_NAL_RADL_R = ,
HEVC_NAL_RASL_N = ,
HEVC_NAL_RASL_R = ,
HEVC_NAL_VCL_N10 = ,
HEVC_NAL_VCL_R11 = ,
HEVC_NAL_VCL_N12 = ,
HEVC_NAL_VCL_R13 = ,
HEVC_NAL_VCL_N14 = ,
HEVC_NAL_VCL_R15 = ,
HEVC_NAL_BLA_W_LP = ,
HEVC_NAL_BLA_W_RADL = ,
HEVC_NAL_BLA_N_LP = ,
HEVC_NAL_IDR_W_RADL = ,
HEVC_NAL_IDR_N_LP = ,
HEVC_NAL_CRA_NUT = ,
HEVC_NAL_IRAP_VCL22 = ,
HEVC_NAL_IRAP_VCL23 = ,
HEVC_NAL_RSV_VCL24 = ,
HEVC_NAL_RSV_VCL25 = ,
HEVC_NAL_RSV_VCL26 = ,
HEVC_NAL_RSV_VCL27 = ,
HEVC_NAL_RSV_VCL28 = ,
HEVC_NAL_RSV_VCL29 = ,
HEVC_NAL_RSV_VCL30 = ,
HEVC_NAL_RSV_VCL31 = ,
HEVC_NAL_VPS = ,
HEVC_NAL_SPS = ,
HEVC_NAL_PPS = ,
HEVC_NAL_AUD = ,
HEVC_NAL_EOS_NUT = ,
HEVC_NAL_EOB_NUT = ,
HEVC_NAL_FD_NUT = ,
HEVC_NAL_SEI_PREFIX = ,
HEVC_NAL_SEI_SUFFIX = ,
};

二、丢帧

在性能不足,或者音画不同步时,需要进行丢帧,H264丢帧根据nal_ref_idc来判断,H265根据来NALU type判断。以下type是可以丢帧,且不花屏的:HEVC_NAL_TRAIL_N、HEVC_NAL_TSA_N、HEVC_NAL_STSA_N、HEVC_NAL_RADL_N、HEVC_NAL_RASL_N。

H265码流格式的更多相关文章

  1. H.264/H265码流解析

    H.264/H265码流解析 一.H.264码流解析 一个原始的H.264 NALU 单元常由 [StartCode] [NALU Header] [NALU Payload] 三部分组成 一个原始的 ...

  2. H265码流分析

    H265相比较于H264,除了包含SPS.PPS外,还多包含一个VPS:在NALU header上,H.264的HALU header是一个字节,而H.265则是两个字节. 以OX4001为例,头信息 ...

  3. 【知识点】H264, H265硬件编解码基础及码流分析

    前言 音视频开发需要你懂得音视频中一些基本概念,针对编解码而言,我们必须提前懂得编解码器的一些特性,码流的结构,码流中一些重要信息如sps,pps,vps,start code以及基本的工作原理,而大 ...

  4. 嵌入式 H264—MP4格式及在MP4文件中提取H264的SPS、PPS及码流

    一.MP4格式基本概念 MP4格式对应标准MPEG-4标准(ISO/IEC14496) 二.MP4封装格式核心概念 1  MP4封装格式对应标准为 ISO/IEC 14496-12(信息技术 视听对象 ...

  5. 【视频编解码·学习笔记】4. H.264的码流封装格式

    一.码流封装格式简单介绍: H.264的语法元素进行编码后,生成的输出数据都封装为NAL Unit进行传递,多个NAL Unit的数据组合在一起形成总的输出码流.对于不同的应用场景,NAL规定了一种通 ...

  6. [转]【流媒體】H264—MP4格式及在MP4文件中提取H264的SPS、PPS及码流

    [流媒體]H264—MP4格式及在MP4文件中提取H264的SPS.PPS及码流 SkySeraph Apr 1st 2012  Email:skyseraph00@163.com 一.MP4格式基本 ...

  7. 【视频编解码·学习笔记】4. H.264的码流封装格式 & 提取NAL有效数据

    一.码流封装格式简单介绍: H.264的语法元素进行编码后,生成的输出数据都封装为NAL Unit进行传递,多个NAL Unit的数据组合在一起形成总的输出码流.对于不同的应用场景,NAL规定了一种通 ...

  8. 多媒体开发之---H264—MP4格式及在MP4文件中提取H264的SPS、PPS及码流

    一.MP4格式基本概念 MP4格式对应标准MPEG-4标准(ISO/IEC14496) 二.MP4封装格式核心概念 1  MP4封装格式对应标准为 ISO/IEC 14496-12(信息技术 视听对象 ...

  9. 利用ffmpeg0.6.1把.h264纯码流打包成.mp4 .avi等格式 (转载)

    转自:http://cache2.weidaohang.org/h/index.php?q=aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemh1cWluZ183MzkvYXJ0aWNsZS ...

随机推荐

  1. 华三F100系列、华为USG6300系列防火墙 策略路由配置实例

    策略路由,是一种比基于目标网络进行路由更加灵活的数据包路由转发机制,路由器将通过路由图决定如何对需要路由的数据包进行处理,路由图决定了一个数据包的下一跳转发路由器. 策略路由的应用: 1.可以不仅仅依 ...

  2. 零零散散的python笔记 2

    python2和python3的兼容性方面 工具 2to3 python3中自带的工具,可以检查python2升级到python3的diff: 2to3 x.py 2to3 -w x.py     # ...

  3. navicat建立本地连接出错解决

    使用navicat建立本地连接时报错: 2.设置用户配置项 (1) 查看用户信息 select host,user,plugin,authentication_string from mysql.us ...

  4. hdoj1011(树上分组背包)

    题目链接:https://vjudge.net/problem/HDU-1011 题意:给定一颗树,每个结点有两个属性,即花费V和价值w,并且选择子结点时必须选择父结点,求总花费不超过m的最大价值. ...

  5. java集合List解析

    作为一个Developer,Java集合类是我们在工作中运用最多的.最频繁的类.相比于数组(Array)来说,集合类的长度可变,更加适合于现代开发需求: Java集合就像一个容器,可以存储任何类型的数 ...

  6. SQL SERVER 数据有CHAR(10),CHAR(13),CHAR(9)隐藏字符

    原文:SQL SERVER 数据有CHAR(10),CHAR(13),CHAR(9)隐藏字符 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Givi ...

  7. curl post请求封装

    /* POST /servlet/ICBCCMPAPIReqServlet?userID=jyi.y.1001&PackageID=201807311347539185&SendTim ...

  8. DRF 序列化组件 序列化的两种方式 反序列化 反序列化的校验

    序列化组件 django自带的有序列化组件不过不可控不建议使用(了解) from django.core import serializers class Books(APIView): def ge ...

  9. 使用python连接mysql数据库——pymysql模块的使用

    安装pymysql pip install pymysql 使用pymysql 使用数据查询语句 查询一条数据fetchone() from pymysql import * conn = conne ...

  10. WPF 异步加载窗体

    加载某个界面时,需要获取数据,而数据返回的时间比较长,这个时候可以异步加载界面. 1.在该窗体的加载事件(Load)中编写以下代码: new Thread(p=>{DataBinding();} ...