这一篇内容旨在对H.264码流中的一些概念做简单了解。

1、概念了解

VCL:Video Coding Layer视频编码层,它是H.264(AVC)编码中的核心,负责视频数据的编码工作。VCL层会应用一系列的图像压缩技术,如预测编码、变换编码、量化、熵编码等,将原始视频数据压缩成二进制比特流,压缩生成的比特流也被称为原始数据比特流SODB(String of Data Bits)

NAL:Network Abstraction Layer网络抽象层,将SODB打包封装便于网络传输,里面有如下内容需要做了解:

  • 网络传输一般是以字节为单位,但是SODB的长度不一定是整数字节,所以第一步是要把SODB扩充为整数字节,扩充后的数据被称为RBSP(Raw Byte Sequence Payload)。扩充方式是在SODB的末尾添加一个比特位1,如果数据仍不是整数字节,则在末尾添加比特位0,直到数据变成整数字节。

    • 假设我们原始的SODB是一个7位的二进制数据1001100,将它转化为RBSP时,我们会首先在尾部添加1得到10011001,长度变成8,所以不需要再添加0。

    • 如果原始的SODB是一个10位的二进制数据1001100110,将它转化为RBSP时,我们会首先在尾部添加1得到10011001101,长度变成11,需要再添加5个0,最后的RBSP为100110011

H.264码流解析的更多相关文章

  1. h.264码流解析_一个SPS的nalu及获取视频的分辨率

    00 00 00 01 67 42 00 28 E9 00  A0 0B 77 FE 00 02 00 03 C4 80  00 00 03 00 80 00 00 1A 4D 88  10 94 0 ...

  2. H.264码流结构解析

    from:http://wenku.baidu.com/link?url=hYQHJcAWUIS-8C7nSBbf-8lGagYGXKb5msVwQKWyXFAcPLU5gR4BKOVLrFOw4bX ...

  3. 一步一步解析H.264码流的NALU(SPS,PSS,IDR)获取宽高和帧率

    分析H.264码流的工具 CodecVisa,StreamEye以及VM Analyzer NALU是由NALU头和RBSP数据组成,而RBSP可能是SPS,PPS,Slice或SEI 而且SPS位于 ...

  4. 使用FFMPEG类库分离出多媒体文件中的H.264码流

    在使用FFMPEG的类库进行编程的过程中,可以直接输出解复用之后的的视频数据码流.只需要在每次调用av_read_frame()之后将得到的视频的AVPacket存为本地文件即可. 经试验,在分离MP ...

  5. (转)使用FFMPEG类库分离出多媒体文件中的H.264码流

    出自:http://blog.csdn.net/leixiaohua1020/article/details/11800877   在使用FFMPEG的类库进行编程的过程中,可以直接输出解复用之后的的 ...

  6. (转载)H.264码流的RTP封包说明

    H.264的NALU,RTP封包说明(转自牛人) 2010-06-30 16:28 H.264 RTP payload 格式 H.264 视频 RTP 负载格式 1. 网络抽象层单元类型 (NALU) ...

  7. 【视频编解码·学习笔记】6. H.264码流分析工程创建

    一.准备工作: 新建一个VS工程SimpleH264Analyzer, 修改工程属性参数-> 输出目录:$(SolutionDir)bin\$(Configuration)\,工作目录:$(So ...

  8. 海思3518EV200 SDK中获取和保存H.264码流详解

    /****************************************** step 2: Start to get streams of each channel. ********** ...

  9. 视音频数据处理入门:H.264视频码流解析

    ===================================================== 视音频数据处理入门系列文章: 视音频数据处理入门:RGB.YUV像素数据处理 视音频数据处理 ...

  10. H.264/H265码流解析

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

随机推荐

  1. HDC2021技术分论坛:酷炫3D效果在瘦设备上也能实现?

    作者:zhuhuanhuan,图形技术专家 随着3D技术的应用普及,越来越多的场景都能看到3D的身影,比如充电动效.3D壁纸.游戏等等,给用户带来了更有趣.更丰富的体验.要满足用户的3D体验需求,离不 ...

  2. Python 爬虫进阶五之多线程的用法

    Python 爬虫进阶五之多线程的用法 作者 崔庆才   发表于 2016-11-03   分类于 Python   阅读次数: 60553   本文字数: 7.5k   阅读时长 ≈ 7 分钟 前言 ...

  3. sql 语句系列(计算一个季度的开始日期和结束日期)[八百章之第二十三章]

    前言 很多时候,我们进行数据库查询的时候,查询一个季度的财务报表的时候. 比如说查询2020年第一季度的单子,可能传入后台的就是20201,表示的就是20201第一季度,这时候我们要转换为日期. se ...

  4. Linux下安装配置OpenResty服务器

    OpenResty是一款基于Nginx和Lua的高性能Web平台,在nginx基础之上集成了大量的lua库,第三方模块等,以便搭建各种处理高并发.可扩展的Web应用.服务或网关,并且OpenResty ...

  5. vue3 快速入门系列 —— 其他API

    其他API 前面我们已经学习了 vue3 的一些基础知识,本篇将继续讲解一些常用的其他api,以及较完整的分析vue2 和 vue3 的改变. 浅层响应式数据 shallowRef shallow 中 ...

  6. 力扣367(java&python)-有效的完全平方数(简单)

    题目: 给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false . 进阶:不要 使用任何内置的库函数,如  sqrt . 示例 1: 输入: ...

  7. 亿图version 9.2安装教程

    记录一下自己安装亿图9.2版本的安装过程~ 先获取安装资料: 百度网盘链接: 链接:https://pan.baidu.com/s/1zJDcF9Y0Xy2CvD4mG_oOfQ?pwd=pqy9 提 ...

  8. 云原生 DevOps,模型化应用交付能力很重要!

    ​简介: DevOps 文化及其支撑其落地实践的自动化工具与平台能力在云原生架构渐为普及的背后,发挥了关键的价值. 撰稿:溪洋 云原生正在成为企业业务创新和解决规模化挑战的加速器. 云原生带来的变革绝 ...

  9. [FAQ] VScode 用户代码片段设置

      以PHP为示例,配置如下: { "dpe": { "prefix": "dpe", "body": [ " ...

  10. WinDbg 设置在加载到某个 DLL 进入断点

    本文记录如何在 WinDbg 里,设置在加载到某个 DLL 时,自动进入断点.通过此方式用来定位是哪个业务模块加载了某个 DLL 模块 在 WinDbg 里面,可以附加到现有进程,也可以启动某个进程. ...