0、序言
1、前言
H264里面很多文章梳理,具体标准定义就不多赘述了,但是有些概念一定要弄明白,这样在后面我就是因为有些概念模糊所以在理解某些知识点十分吃力,例如序列、GOP等等,我会逐一在后面描述到。
H264在视频采集到输出中属于编解码层次的数据,如图1所示,是在采集数据后做编码压缩时通过编码标准编码后所呈现的数据。

图1
墨衍会员
·
AI 创作全网分发
墨衍智能分发
本文由作者通过墨衍一键同步至各平台
1分发平台
6.4w累计阅读
6.4w+平均单平台
已同步平台
CSDN
微信公众号
微博
知乎
掘金
百家号
博客园
抖音
小红书
你的文章也可以这样分发
墨衍会员 ¥399起/年,写一次发全网
我也要 →
码龄10年
H264里面很多文章梳理,具体标准定义就不多赘述了,但是有些概念一定要弄明白,这样在后面我就是因为有些概念模糊所以在理解某些知识点十分吃力,例如序列、GOP等等,我会逐一在后面描述到。
H264在视频采集到输出中属于编解码层次的数据,如图1所示,是在采集数据后做编码压缩时通过编码标准编码后所呈现的数据。

图1
当前文章被以下社区和专栏收录:
2024年最新入门理解H264编码(1),那些BAT大厂的物联网嵌入式开发面试官到底在想些什么
如我们所见,每个分片也包含着头和数据两部分,分片头中包含着分片类型、分片中的宏块类型、分片帧的数量以及对应的帧的设置和参数等信息,而分片数据中则是宏块,这里就是我们要找的存储像素数据的地方;和帧间编码信息数据块不通的是,帧内编码信息能防止进一步的偏差,因此比帧间编码信息更重要。从容纳数据角度来说,NAL单元除了容纳Slice编码的码流外,还可以容纳其他数据,这也就是为什么有SPS、PPS等这些数据出现的原因,并且这些数据在传输H264码流的过程中起到不可或缺的作用,具体作用上面也是有讲到的。
将视频 YUV 格式编码成 H264
首先开始的时候我们插入一张雷神大大的图帮助大家理解一下我们今天的操作究竟属于那一步。 音视频格式封装层次 从上图可以看出我们要做的,就是将像素层的 YUV 格式,编码出编码层的 h264数据。 前面讲到我们已经成功编译出 iOS 中可用的 ffmpeg 的库了,那么我们首先熟悉一下今天我们要用到的 ffmpeg 中的函数和结构体 AVFormatContext: 数据文件操
深入讲解音视频编码原理,H264码流详解——手写H264编码器
音视频高手课08-H264 I帧 P帧 B帧及手写H264编码器 1 三种帧的说明 1、I 帧:帧内编码帧,帧表示关键帧,你可以理解为这一帧画面的完整保留;解码时只需要本帧数据就可以完成(因为包含完整画面) I 帧的特点: a. 它是一个全帧压缩编码帧,它将全帧图像信息进行JPEG压缩编码及传输 b. 解码时仅用I 帧的数据就可重构完整图像 c. I 帧描述了图像背景和运动主体的详情 d. I 帧不需要参考其他画面而生成 e. I 帧是P帧和B帧的参考帧(其质量直接影响到同组中以后各.
H.264编码详解
这里FQ是量化后的值,y是原来的系数,Qstep是量化步长(对亮度一般有52种,对于色度有40种),round表示向下取整(量化后一般右下角的数据都会舍去,就是变成0)。上面提到DCT,在经过DCT变换后,有效的图像信息会聚集在低频(如左上角),而高频(如右下角)的信息一般是不必要的,而通过量化则可以去掉这些不必要的高频信息以达到压缩的效果。帧内预测参考每像素块的相邻像素来预测,4×4亮度分量使用子块上方4个,右上方4个,左侧4个,左上顶点1个,总共13个像素来预测构建。C(u)是归一化矩阵,
H264 编码基本原理
H.264,同时也是 MPEG-4 第十部分,是由 ITU-T 视频编码专家组(VCEG)和 ISO/IEC 动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压缩数字视频编解码器标准。这个标准通常被称之为 H.264/AVC(或者 AVC/H.264 或者 H.264/MPEG-4 AVC 或 MPEG-4/H.264 AVC)。是一种面向块,基于运动补偿的视频编码标准。...
入门理解H264编码(转)
入门理解H264编码 2018年05月17日 16:50:27 go_str 阅读数:2107 版权声明:转载请注明出处,谢谢 https://blog.csdn.net/go_str/article/details/80340564 最近入门音视频技术,一直在学习H264编解码标准,了解了不少关于H264的相关知识,对于网上各种类型的资料,始终没有找到一篇适合的知识梳理资料。可能...
音视频开发之入门理解H264编码
0、序言 首先要弄明白编码的目的,有目的的学习效率会更好。编码是为了将数据进行压缩,这样在传输的过程中就不会使资源被浪费,用一个简单的例子来说明编码的必要性: 当你此刻显示器正在播放一个视频,分辨率是1280*720,帧率是25,那么一秒所产生正常的数据大小为: 1280*720(位像素)*25(张) / 8(1字节8位)(结果:B) / 1024(结果:KB) / 1024 (结果:MB) = 2.75MB 显然一秒这么大的数据你是无法接...
H264入门
这篇文章写的比较有逻辑,容易理解。
2024年入门理解H264编码,2024年最新解锁物联网嵌入式开发性能优化的五大误区
如我们所见,每个分片也包含着头和数据两部分,分片头中包含着分片类型、分片中的宏块类型、分片帧的数量以及对应的帧的设置和参数等信息,而分片数据中则是宏块,这里就是我们要找的存储像素数据的地方;参数集(Parameter sets),参数集是携带解码参数的NAL单元,参数集对于正确解码是非常重要的,在一个有损耗的传输场景中,传输过程中比特列或包可能丢失或损坏,在这种网络环境下,参数集可以通过高质量的服务来发送,比如向前纠错机制或优先级机制。这些信息是最重要的,因为离开他们,被的数据块种的码元都无法使用。
解析H.264码流
1,入门理解H264编码 https://www.seotest.cn/jishu/28532.html 2,一步一步解析H.264码流的NALU(SPS,PSS,IDR) http://guoh.org/lifelog/2013/10/h-264-bit-stream-sps-pps-idr-nalu/ https://www.jianshu.com/p/19fa110c2383 3,h.264-guide.md https://gist.github.com/Akagi201/96add5c
1.1 海思3518 H264编码
海思的SDK里其实有H264编码的sample,但因为要匹配很多东西,代码有点复杂,让初学都感到有点混乱。我根据sample自己修改了一下代码,从最简单的情况(确定摄像头类型,只选一种尺寸的图片,只用一个通道)来说明海思HI3518是怎么编码为H264的。先把源代码下载下来,再分析程序。下载链接:https://download.csdn.net/download/zhanshenrui/1032...
音视频入门H264&AAC
音视频基础知识简述: 录像、录音,实质上是一个压缩采集到的图像或者音频数据的过程,这个过程又称为编码,混合。那为什么需要编码(压缩)呢?因为设备采集到的音视频数据太大了,如果不进行压缩,占用的空间太大,不利于传输等。 而播放视频或者音频文件,实质上是一个解压缩的过程,这个过程又称为解码。那为什么又要解码(解压缩)呢?因为播放器播放需要的是音频采样数据、视频像素数据,通俗一点来说就是需要的是编码之前...
198

被折叠的 条评论
为什么被折叠?



