H264简介

article/2025/9/25 13:26:29

        H.264是国际标准化组织(ISO)和国际电信联盟(ITU)共同提出的继MPEG4之后的新一代数字视频压缩格式。H.264是ITU-T以H.26x系列为名称命名的视频编解码技术标准之一。H.264是ITU-T的VCEG(视频编码专家组)和ISO/IEC的MPEG(活动图像编码专家组)的联合视频组(JVT:joint video team)开发的一个数字视频编码标准。该标准最早来自于ITU-T的称之为H.26L的项目的开发。H.26L这个名称虽然不太常见,但是一直被使用着。H.264是ITU-T以H.26x系列为名称命名的标准之一,AVC是ISO/IEC MPEG一方的称呼

     一、H264基本结构

         H.264 原始码流(又称为裸流),是有一个接一个的 NALU 组成的,而它的功能分为两层:视频编码层(VCL, Video Coding Layer)和网络提取层(NAL, Network Abstraction Layer),其中,前者负责有效表示视频数据的内容,而后者则负责格式化数据并提供头信息,以保证数据适合各种信道和存储介质上的传输。

       

二、VCL简介

        VCL数据即编码处理的输出,它表示被压缩编码后的视频数据序列。在VCL数据传输或存储之前,这些编码的 VCL 数据,先被映射或封装进 NAL 单元(以下简称 NALU,Nal Unit) 中。每个 NALU 包括一个原始字节序列负荷(RBSP, Raw Byte Sequence Payload)、一组 对应于视频编码的 NALU 头部信息。RBSP 的基本结构是:在原始编码数据的后面填加了结尾比特。一个 bit“1”若干比特“0”,以便字节对齐。

三、NALU简介

一帧图片经过H.264编码之后,就被编码为一个或多个片(slice),而装载着这些片(slice)的载体,就是NALU。帧(frame)是用作描述一张图片的,一帧(frame)对应一张图片,而片(slice),是 H.264 中提出的新概念,是通过编码图片后切分通过高效的方式整合出来的概念,一张图片至少有一个或多个片(slice)。 NALU 还有可能装载着其他用作描述视频的信息

四、slic概述 

在H.264中设计Slice的目的主要在于防止误码的扩散。因为不同的slice之间,其解码操作是独立的。某一个slice的解码过程所参考的数据(例如预测编码)不能越过slice的边界。一帧图片可以包含一个或多个Slice,而每一个Slice包含整数个宏块(Macroblock),即每片(slice)至少一个宏块(Macroblock),最多时每片包含整个图像的宏块。分片头中包含着分片类型、分片中的宏块类型、分片属于那个图像以及对应的帧的设置和参数等信息。分片数据中则是宏块,就是存储像素数据的地方。

在进行RTP打包时,同一个slic之间的timestamp不变,并有标注启始标志和终止标志。

五、片类型及宏块类型

根据码流中不同的数据类型,H.264标准中共定义了5种Slice类型: I slice: 帧内编码。 P slice: 单向帧间编码。 B slice: 双向帧间编码 SI slice: 用于扩展档次中码流切换使用 SP slice: 用于扩展档次中码流切换使用 在I slice中只包含I宏块,不能包含P或B宏块;在P和B slice中,除了相应的P和B类型宏块之外,还可以包含I类型宏块

六、帧类型 

I 帧: 帧内编码。 P 帧: 单向帧间编码。 B 帧: 双向帧间编码 IDR:(Instantaneous Decoding Refresh)--即时解码刷新。 I和IDR帧都是使用帧内预测的。它们都是同一个东西而已,在编码和解码中为了方便,要首个I帧和其他I帧区别开,所以才把第一个首个I帧叫IDR,这样就方便控制编码和解码流程。IDR帧的作用是立刻刷新,使错误不致传播,从IDR帧开始,重新算一个新的序列开始编码。而I帧不具有随机访问的能力,这个功能是由IDR承担。IDR会导致DPB(DecodedPictureBuffer参考帧列表——这是关键所在)清空,而I不会。IDR图像一定是I图像,但I图像不一定是IDR图像。一个序列中可以有很多的I图像,I图像之后的图像可以引用I图像之间的图像做运动参考。

H264帧截图

 SPS截图

IDR截图

 


http://chatgpt.dhexx.cn/article/VjHUyJnK.shtml

相关文章

阿里云单位网站备案承诺书填写(单位/个人)

阿里云单位网站备案承诺书填写 第一个填写「阿里云计算有限公司」 第二个填写公司所在省份/直辖市「深圳市」

个人网站备案很麻烦

看到这么多网站备案的是材料,我放弃了。怪不得大家都往国外跑。 租个香港(比如www.smartvps.cn)或则美国的亚马逊都可以,免了备案的麻烦。 弄个香港的虚拟主机配了下,没有问题。 搭建指南: http://blog.cs…

wordpress 搭建的博客: 增加网站备案信息

问题描述 使用阿里云的主机,搭建了一个基于wordpress的博客,因为注册的域名是.com,需要网站开启后,增加网站备案的信息搭建好 wordpress 博客后,发现没有地方配置【网站备案信息】 主题 我使用的是 wordpress 的一个…

个人备案的网站能放企业服务器吗,个人及企业域名备案对网站有什么影响

工信部规定,如果想使用中国境内的服务器建站,必须将网站域名进行备案。理论上说,域名备案制度可以在某种程度上减少违法网站的数量。但是那些一心想干坏事的互联网人总会找到各种空子来逃避这个备案制度。所以,个人感觉这个制度是…

在网站底部附上网站备案号

前置条件 备案号已申请通过。本文举例的网站是在腾讯云申请的服务器和域名,管局备案成功后,在全国互联网安全管理服务平台http://www.beian.gov.cn成功备案的。 步骤一 全国互联网安全管理服务平台http://www.beian.gov.cn 你的对应备案联网信息地址为…

【服务器搭建个人网站】教程六:网站如何添加备案号?

前言 哈喽,大家好,我是木易巷! 上一篇服务器搭建教程是给大家介绍了:关于域名公安备案的具体流程 今天分享在域名备案审核通过后,网站如何添加备案号? 为什么要在网站添加备案号? 根据工信部…

个人备案网站不能做博客了?

2020年3月1日开始执行了新的《网络信息内容生态治理规定》,作为自媒体的者想必都看到了,为了避免误伤,必须要遵守的。其实在,2019年底,还有一条对个人备案网站的规定,那就是个人备案的网站不能做博客了。 …

个人网站 域名 购买 解析 备案

这里写自定义目录标题 域名购买域名解析备案合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个注脚注释也是必不可少…

阿里云个人网站备案流程

因为发现阿里云有提供免费两年(2015年)的虚拟主机服务,一直有做个个人网站的想法,所以就去注册申请了一个,原本以为申请好了就可以直接做网站,没想到还要做好多准备工作,拖拉了一个多月,才整好网站雏形&…

个人网站备案承诺书模板(阿里云)

我照片上传后,客服打电话通知—— 必须是打印出来 签名与身份证必须手写 个人网站备案承诺书 本人通过 阿里云计算有限公司 (填写ISP/IDC增值电信业务经营许可证上的名称)向住所所在地 广东省 通信管理局中请网站备案业务,并就此…

个人网站备案时ICP备案的网站建设方案书怎么写?

个人网站备案ICP备案网站建设方案书怎么写? 我们在进行个人网站的ICP备案的时候, 很可能会因为你没有写网站建设备案书而被驳回, 我在百度上找了一圈,基本上没有看见相应的模板 我就把我写的这份分享出来,做一个参…

个人域名备案详细流程(图文并茂)

嗨,大家好,我是希留。 前面文章介绍了下使用https访问网站的相关配置,然后发现访问https时灵时不灵的,有时可以正常访问,有时出现连接已被重置。反复检查相关的配置,都没有问题。因此断定,应该…

个人网站如何进行备案

网站备案是根据国家法律法规需要网站的所有者向国家有关部门申请的备案,主要有ICP备案和公安局备案。网站备案的目的就是为了防止在网上从事非法的网站经营活动,打击不良互联网信息的传播,如果网站不备案的话,很有可能被查处以后关…

个人网站怎么备案?

许多站长都想给自己的个人网站备案,也都想知道个人网站备案流程。今天,我也就结合自己这二次备案的经历,跟大家说下个人网站应该如何备案? 网站备案看起来确实是个费脑子的事,很多人也都是因为麻烦而放弃备案的。不过&…

ColorComboBox

using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Text; using System.Windows.Forms; /* 使用说明: WindowsFormsApplication1 - 添加 - 现有项 - ColorComboBox.cs 先编…

LaTeX 颜色

LaTeX 颜色 原  文:Using colours in LaTeX 译  者:Xovee 翻译时间:2022年10月17日 文章目录 LaTeX 颜色介绍xcolor中所支持的预设颜色例子 使用color包来加载预设颜色旧版本TeX情况下的颜色使用创建你自己的新颜色xcolor专属的颜色模式…

JQuery弹出窗口小插件ColorBox

JQuery弹出窗口小插件ColorBox 今天在博客园看到一篇《ASP.NET MVCColorbox做的一个Demo(一)》的文章。看了效果,给人很舒服的感觉。立马我也照着他的示例做了。但做了很久没有成功。后来我到官方下载了ColorBox,里面附带了示例。看了一会儿,…

Python 自定义色带 colorbar

1. 自定义颜色系 import matplotlib.pyplot as plt import matplotlib as mplfig, ax plt.subplots(figsize(6, 1)) fig.subplots_adjust(bottom0.5)cmap mpl.cm.viridis norm mpl.colors.Normalize(vmin5, vmax10)fig.colorbar(mpl.cm.ScalarMappable(normnorm, cmapcmap)…

关于ColorBox使用的一个简单例子

colorbox是一个很小的jquery插件,通过调用jquery.colorbox.js文件,我们可以用它来实现页面大图显示的功能。 脚本如下: 这里我们需要指出的几个注意事项: 1.必须先调用jquery.js文件,否则$符号没有办法被识别。 2. 项…

colorUI使用

colorUI使用 一、colorUI简介 官网地址—还在完善 colorUI特点: 组件精美,色彩十分鲜艳封装特特特特别的好,每一个样式都是单独的class选择器,都是封装极好的css小组件兼容性,扩展性极好。亲测在vant weep组件上可…