LV05-02-H264-10-H264的profile与level
本文主要是H264的profile与level的相关笔记,若笔记中有错误或者不合适的地方,欢迎批评指正😃。
点击查看使用工具及版本
PC端开发环境 | Windows | Windows11 |
Ubuntu | Ubuntu20.04.6的64位版本 | |
VMware® Workstation 17 Pro | 17.0.0 build-20800274 | |
终端软件 | MobaXterm(Professional Edition v23.0 Build 5042 (license)) | |
Win32DiskImager | Win32DiskImager v1.0 |
点击查看本文参考资料
点击查看相关文件下载
--- | --- |
一些移动设备(手机、游戏机、PMP)由于性能有限,不支持全部高级视频压缩特性和高分辨率图像,只支持基础压缩特性和分辨率低一些的图像。为了让这个限制更加清晰明了,H264从低到高划分了很多Profile和Level,设备只需要标出所支持的Profile和Level就可以让用户和开发者一看既知。
profile主要是定义了编码工具的集合,不同的profile,包含了不同的编码技术;而level主要是对码流的关键参数的取值范围作了限定,与解码器的处理能力和存储能力相关联。下面就来看一看这两个属性吧。
一、H264——profile
1. profile是什么?
Profile是对视频压缩特性的描述(CABAC呀、颜色采样数等等)。
简单来说,Profile越高,就说明采用了越高级的压缩特性。
2. 四种画质
H.264有四种画质级别,分别是baseline, extended, main, high:
(1)Baseline Profile:基本画质。支持I/P 帧,只支持无交错(Progressive)和CAVLC。一般用于低阶或需要额外容错的应用,比如视频通话、手机视频等。
(2)Extended profile:进阶画质。支持I/P/B/SP/SI 帧,只支持无交错(Progressive)和CAVLC;(用的少)
(3)Main profile:主流画质。提供I/P/B 帧,支持无交错(Progressive)和交错(Interlaced), 也支持CAVLC 和CABAC。用于主流消费类电子产品规格如低解码(相对而言)的mp4、便携的视频播放器、PSP和Ipod等。
(4)High profile:高级画质。在main Profile 的基础上增加了8x8内部预测、自定义量化、 无损视频编码和更多的YUV 格式。用于广播及视频碟片存储(蓝光影片),高清电视的应用。
简单来说,Profile越高,就说明采用了越高级的压缩特性。我们可以看下面这个图,它给出了不同的profile的性能区别:
Tips:
(1)H.264 Baseline profile、Extended profile和Main profile都是针对8位样本数据、4:2:0格式(YUV)的视频序列。
(2)根据应用领域的不同,Baseline profile多应用于实时通信领域,Main profile多应用于流媒体领域,High profile则多应用于广电和存储领域。
(3)在相同配置情况下,High profile(HP)可以比Main profile(MP)降低10%的码率。 比MPEG-2
MP节省60%的码流量,具有更好的编码性能。
二、H264——level
1. level是什么?
Level是对视频本身特性的描述(码率、分辨率、fps)。
Level越高,视频的码率、分辨率、fps越高。
2. level级别
参考资料