一、概念综述
1.SPS
SPS即Sequence Paramater Set,又称作序列参数集。SPS中保存了一组编码视频序列(Coded video sequence)的全局参数。所谓的编码视频序列即原始视频的一帧一帧的像素数据经过编码之后的结构组成的序列。而每一帧的编码后数据所依赖的参数保存于图像参数集中。一般情况SPS和PPS的NAL Unit通常位于整个码流的起始位置。但在某些特殊情况下,在码流中间也可能出现这两种结构,主要原因可能为:
- 解码器需要在码流中间开始解码;
- 编码器在编码的过程中改变了码流的参数(如图像分辨率等);
在做视频播放器时,为了让后续的解码过程可以使用SPS中包含的参数,必须对其中的数据进行解析。
2.PPS
PPS即Picture ParamaterSet。通常情况下,PPS类似于SPS,在H.264的裸码流中单独保存在一个NAL Unit中,只是PPS NAL Unit的nal_unit_type值为8;而在封装格式中,PPS通常与SPS一起,保存在视频文件的文件头中。
3.GOP
GOP即Group of Picture,关键帧的周期,也就是两个IDR帧之间的距离,一个帧组的最大帧数,一般而言,每一秒视频至少需要使用 1 个关键帧。增加关键帧个数可改善质量,但是同时增加带宽和网络负载。在一个GOP中,P、B帧是由I帧预测得到的,当I帧的图像质量比较差时,会影响到一个GOP中后续P、B帧的图像质量,直到下一个GOP 开始才有可能得以恢复,所以GOP值也不宜设置过大。
4.QP
现有的 码率控制 算法主要是通过调整离散余弦变换的 量化参数 大小输出目标码率。 实际上,量化参数( QP )反映了空间细节压缩情况,如 QP 小,大部分的细节都会被保留; QP 增大,一些细节丢失,码率降低,但图像失真加强和质量下降。也就是说, QP 和比特率成反比的关系,而且随着视频源复杂度的提高,这种反比关系会更明显。
二、实验过程
1.我们通过一个码流分析仪打开一个MP4文件(如图)