NALU 以 0000 0001划分开
yuv420p一个pix占用字节数1.5Byte
rgb 8bit位深,3通道(不含透明度),一个pix占用3Bytesh264编码(pix:640*480 yuv420p fps=15 500kbps)常见压缩比1%
常见电影_fps>=60; 视频直播_fps>=15码率经验值.参考https://docs,agora.io/cn
b帧多的缺点,占用cpu;解码耗时;不宜直播
实时:i+p;转码:大量b帧,为减小存储-
IDR帧,特殊的I帧,解码立即刷新帧,由于每个GOP间明显的差别
- 特点:解码端遇到IDR会将缓存清空,重新解码
- 每个GOP中第一帧就是IDR
h264默认编码(不是编码顺序,可以看作gop中帧顺序)
IBBBPBBBPBBBI
B帧间无相互关系,B帧参考始终是之前的I和之后的P帧-
SPS PPS 在每个IDR帧前都会成对出现这两种帧(参数术语)
- SPS 参数序列集(帧内参数,约束gop的参数)
SPS_ID 帧数 参考帧数量(可参考一帧,亦可参考多帧) 解码图像尺寸 编码模式 - PPS 图像参数集(约束GOP中每帧的参数)
ID 熵编码 帧编码 片组数目(帧编码) 初始量化参数 区块滤波系数
- SPS 参数序列集(帧内参数,约束gop的参数)
-
帧内压缩理论:
- 1.相邻像素差别不大,有宏块预测的基础
- 2.人眼对亮度的敏感超过色度
- 3.yuv分开存储,利于压缩
宏块预测有9种模式
残差值 = 原始图像 - 预测出的图像
压缩时,预测图象压缩+残差值压缩(补偿残差);主要用在帧内压缩
运动补偿:在解码时将残差值的影响考虑在内运动估计:根据宏块匹配的手段找到运动矢量的过程称运动估计
宏块查找:目的是找到宏块的运动轨迹(运动矢量)
宏块查找算法:
三步搜索 二位对数搜索 四步搜索 钻石搜索压缩编码的主要手段是:运动矢量+补偿压缩(残差值补偿),图像还原的原理也是依据这两点
花屏,马赛克原因:GOP中丢帧(主要丢失的是P,B帧,运动矢量,残差值也丢失)
花屏的兄弟-卡顿:当GOP丢帧时,就丢弃掉GOP内所有帧,直到下一个GOP的IDR帧到来;这种情况的刷新周期就取决于IDR帧间隔(I帧间隔)
卡顿和花屏不能兼得,互斥关系
李超 视频编码学习
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 已经好几个月没有写博客了,突然来感去写,手艺也有些生疏了,确实是这几个月实在太忙了,谁也知道现在直播火了起来,很多...
- 更多音视频知识请点击:专注音视频开发 概述 x264编码参数简介 版本 x264.exe --fullhelp 打...