H264格式 I帧 P帧 B帧 基础知识

H264/AVC是2003年发布的视频编解码标准,以高压缩比和高质量著称。它定义了I帧、P帧和B帧,利用帧内压缩和帧间压缩减少数据量。I帧为完整编码,P帧和B帧根据前后帧差异进行编码。H264有四种画质级别,不同级别支持不同帧类型和编码方式。在编码速度上,预设如slow、medium、veryslow会影响码率和质量,例如slow预设的编码速度为245 fps,而veryslow则为140 fps。

H.264/AVC是由ITU-TVCEG与ISO/IECMPEG组成的联合专家行动组JVT共同制定并于2003年5月发布的视频编解码标准,在ITU-T体系内被称为H.264,在ISO/IEC体系内被称为MPEG4 part10-AVC,所以通常被称为H.264/AVC或简称H.264。

H264是新一代的编码标准,以高压缩高质量和支持多种网络的流媒体传输著称,在编码方面,我理解的他的理论依据是:参照一段时间内图像的统计结果表明,在相邻几幅图像画面中,一般有差别的像素只有10%以内的点,亮度差值变化不超过2%,而色度差值的变化只有1%以内。所以对于一段变化不大图像画面,我们可以先编码出一个完整的图像帧A,随后的B帧就不编码全部图像,只写入与A帧的差别,这样B帧的大小就只有完整帧的1/10或更小!B帧之后的C帧如果变化不大,我们可以继续以参考B的方式编码C帧,这样循环下去。这段图像我们称为一个序列(序列就是有相同特点的一段数据),当某个图像与之前的图像变化很大,无法参考前面的帧来生成,那我们就结束上一个序列,开始下一段序列,也就是对这个图像生成一个完整帧A1,随后的图像就参考A1生成,只写入与A1的差别内容。


在H264协议里定义了三种帧,完整编码的帧叫I帧,参考之前的I帧生成的只包含差异部分编码的帧叫P帧,还有一种参考前后的帧编码的帧叫B帧。
H264采用的核心算法是帧内压缩和帧间压缩,帧内压缩是生成I帧的算法,帧间压缩是生成B帧和P帧的算法。

H.264有四种画质级别,分别是BP、EP、MP、HP:

1、BP-Baseline Profile:基本画质。支持I/P 帧,只支持无交错(Progressive)和CAVLC;

2、EP-Extended profile:进阶画质。支持I/P/B/SP/SI 帧,只支持无交错(Progressive)和CAVLC;

3、MP-Main profile:主流画质。提供I/P/B 帧,支持无交错(Progressive)和交错(Interlaced),也支持CAVLC 和CABAC 的支持;

4、HP-High profile:高级画质。在main Profile 的基础上增加了8x8内部预测、自定义量化、无损视频编码和更多的YUV 格式;

国内普遍采用的MPEG-4 编码技术在3Mbps 的带宽下尚达不到标清的图像质量,H.264 编码技术可以在2Mbps 带宽下提供要求的图像效果,H265可以在1.5Mbps带宽下提供标清图像质量

H.264中熵编码有两种方法,一种是对所有的待编码的符号采用统一的VLC(UVLC :Universal VLC),另一种是采用内容自适应的二进制算术编码(CABAC:Context-Adaptive Binary Arithmetic Coding)。

编码速度跟preset 有关

Current presets in descending order of speed are: ultrafast,superfast, veryfast, faster, fast, medium, slow, slower, veryslow,placebo.

av_opt_set(c->priv_data, “preset”, “slow”, 0);  //ffmpeg

参考信息

固定码率150K,设置slow时:编码速度:245 fps 4ms

[libx264 @ 014bbb40] frame I:38 Avg QP:33.69 size: 3763
[libx264 @ 014bbb40] frame P:262 Avg QP:35.79 size: 381

meidum 时:编码速度:335 fps 2ms,

[libx264 @ 018dbb40] frame I:38 Avg QP:34.33 size: 3234
[libx264 @ 018dbb40] frame P:262 Avg QP:37.83 size: 455

veryslow 时:编码速度:140 fps 7ms

[libx264 @ 0187cb40] frame I:38 Avg QP:35.10 size: 3582
[libx264 @ 0187cb40] frame P:262 Avg QP:37.24 size: 405

可以设置固定码率编码和可变,CBR (Constant Bit Rate),VBR

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值