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

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



