视频编码参数

编码类型

编码类型为H264。

Adaptive DCT

        允许使用8*8DCT。对画面质量和压缩效率都有好处。I4*4,P4*4,P8*8,B8*8:AVC标准允许使用多种DCT块划分方式,这里就能选择允许使用的DCT块划分方式。前面的字母代表对于的帧类型,后面的数字代表块大小。本选项对画面质量和压缩效率都有好处,推荐都选上。I8*8需要ADaptive DCT打开才有效。

帧率

    每秒的帧数(fps)或者说帧率表示图形处理器处理场时每秒钟能够更新的次数。高的帧率可以得到更流畅、更逼真的动画。一般来说30fps就是可以接受的,但是将性能提升至60fps则可以明显提升交互感和逼真感,但是一般来说超过75fps一般就不容易察觉到有明显的流畅度提升了。如果帧率超过屏幕刷新率只会浪费图形处理的能力,因为监视器不能以这么快的速度更新,这样超过刷新率的帧率就浪费掉了。

GOP(Group of picture)

 对于IDR帧来说,在IDR帧之后的所有帧都不能引用任何IDR帧之前的帧的内容,与此相反,对于普通的I-帧来说,位于其之后的B-和P-帧可以引用位于普通I-帧之前的I-帧。
    每个GOP一定是以一个I帧开始的,但是却不一定指代的是两个I帧之间的距离。因为一个GOP内可能包含几个I帧,只有第一个I帧(也就是第一帧)才是关键帧。

       关键帧的周期,也就是两个IDR帧之间的距离,一个帧组的最大帧数,一般而言,每一秒视频至少需要使用 1 个关键帧。增加关键帧个数可改善质量,但是同时增加带宽和网络负载。

         需要说明的是,通过提高GOP值来提高图像质量是有限度的,在遇到场景切换的情况时,H.264编码器会自动强制插入一个I帧,此时实际的GOP值被缩短了。另一方面,在一个GOP中,P、B帧是由I帧预测得到的,当I帧的图像质量比较差时,会影响到一个GOP中后续P、B帧的图像质量,直到下一个GOP开始才有可能得以恢复,所以GOP值也不宜设置过大。

        同时,由于P、B帧的复杂度大于I帧,所以过多的P、B帧会影响编码效率,使编码效率降低。另外,过长的GOP还会影响Seek操作的响应速度,由于P、B帧是由前面的I或P帧预测得到的,所以Seek操作需要直接定位,解码某一个P或B帧时,需要先解码得到本GOP内的I帧及之前的N个预测帧才可以,GOP值越长,需要解码的预测帧就越多,seek响应的时间也越长。

CABAC/CAVLC

H.264/AVC标准中两种熵编码方法,CABAC叫自适应二进制算数编码,CAVLC叫前后自适应可变长度编码, 这两个选项中,CAVLC是低质量的,易于解码的选项,CABAC是高质量的,难于解码的选项。

CABAC:是一种无损编码方式,画质好,X264就会舍弃一些较小的DCT系数,码率降低,可以将码率再降低10-15%(特别是在高码率情况下),会降低编码和解码的速速。

CAVLC将占用更少的CPU资源,但会影响压缩性能。

Deblocking

开启会减少块效应。

FORCE_IDR

是否让每个I帧变成IDR帧,如果是IDR帧,支持随机访问。

frame,tff,bff

        --frame 将两场合并作为一帧进行编码,--tff Enable interlaced mode (开启隔行编码并设置上半场在前),--bff Enable interlaced mode。
        PAFF 和MBAFF:当对隔行扫描图像进行编码时,每帧包括两个场,由于两个场之间存在较大的扫描间隔,这样,对运动图像来说,帧中相邻两行之间的空间相关性相对于逐行扫描时就会减小,因此这时对两个场分别进行编码会更节省码流。

       对帧来说,存在三种可选的编码方式:将两场合并作为一帧进行编码(frame 方式)或将两场分别编码(field 方式)或将两场合并起来作为一帧,但不同的是将帧中垂直相邻的两个宏块合并为宏块对进行编码;前两种称为PAFF 编码,对运动区域进行编码时field 方式有效,对非运区域编码时,由于相邻两行有较大的相关性,因而frame 方式会更有效。当图像同时存在运动区域和非运动区域时,在MB 层次上,对运动区域采取field 方式,对非运动区域采取frame 方式会更加有效,这种方式就称为MBAFF,预测的单位是宏块对。

 帧:当采样视频信号时,如果是通过逐行扫描,那么得到的信号就是一帧图像,通常帧频为25帧每秒(PAL制)、30帧每秒(NTSC制);
      场:当采样视频信号时,如果是通过隔行扫描(奇、偶数行),那么一帧图像就被分成了两场,通常场频为50Hz(PAL制)、60Hz(NTSC制);
      帧频、场频的由来:最早由于抗干扰和滤波技术的限制,电视图像的场频通常与电网频率(交流电)相一致,于是根据各地交流电频率不同就有了欧洲和中国等PAL制的50Hz和北美等NTSC制的60Hz,但是现在并没有这样的限制了,帧频可以和场频一样,或者场频可以更高。
      帧编码、场编码方式:逐行视频帧内邻近行空间相关性较强,因此当活动量非常小或者静止的图像比较适宜采用帧编码方式;而场内相邻行之间的时间相关性较强,对运动量较大的运动图像则适宜采用场编码方式。

位率(定码率,变码率)

     位率又称为“码率”。指单位时间内,单个录像通道所产生的数据量,其单位通常是bps、Kbps或Mbps。可以根据录像的时间与位率估算出一定时间内的录像文件大小。  位率是一个可调参数,不同的分辨率模式下和监控场景下,合适的位率大小是不同的。在设置时,要综合考虑三个因素:   
1、分辨率   
        分辨率是决定位率(码率)的主要因素,不同的分辨率要采用不同的位率。总体而言,录像的分辨率越高,所要求的位率(码率)也越大,但并不总是如此,图1说明了不同分辨率的合理的码率选择范围。所谓“合理的范围”指的是,如果低于这个范围,图像质量看起来会变得不可接受;如果高于这个范围,则显得没有必要,对于网络资源以及存储资源来说是一种浪费。   
2、场景   
        监控的场景是设置码率时要考虑的第二个因素。在视频监控中,图像的运动剧烈程度还与位率有一定的关系,运动越剧烈,编码所要求的码率就越高。反之则越低。因此在同样的图像分辨率条件下,监控人多的场景和人少的场景,所要求的位率也是不同的。   
3、存储空间   
        最后需要考量的因素是存储空间,这个因素主要是决定了录像系统的成本。位率设置得越高,画质相对会越好,但所要求的存储空间就越大。所以在工程实施中,设置合适的位率即可以保证良好的回放图像质量,又可以避免不必要的资源浪费。   
位率类型   
位率类型又称为码率类型,共有两种——动态码率(VBR)和固定码率(CBR)。所谓动态码率是指编码器在对图像进行压缩编码的过程中,根据图像的状况实时调整码率高低的过程,例如当图像中没有物体在移动时,编码器自动将码率调整到一个较低的值。但当图像中开始有物体移动时,编码器又自动将码率调整到一个较高的值,并且实时根据运动的剧烈程度进行调整。这种方式是一种图像质量不变,数据量变化的编码模式。   
        固定码率是指编码器在对图像进行编码的过程中,自始至终采用一个固定的码率值,不论图像情况如何变化。这种方式是码率量不变,而图像质量变化的编码模式。在动态码率模式下,我们在硬盘录像机上设置的位率值称为“位率上限”。意思是我们人为设定一个编码码率变化的上限,可以低于,但不能高于。根据这个位率值,我们可以估算出一定时间内的存储容量的上限值。   
        在固定码率模式下,在硬盘录像机上设置的位率值就是编码时所使用的位率值,根据这个数值,我们可以精确地估算出一定时间内的存储容量。

QP(quantizer parameter)

介于0~31之间,值越小,量化越精细,图像质量就越高,而产生的码流也越长。 

PSNR

允许计算峰值信噪比(PSNR,Peak signal-to-noise ratio),编码结束后在屏幕上显示PSNR计算结果。开启与否与输出的视频质量无关,关闭后会带来微小的速度提升。

profile level

分别是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 格式;

H.264规定了三种档次,每个档次支持一组特定的编码功能,并支持一类特定的应用。
1)基本档次:利用I片和P片支持帧内和帧间编码,支持利用基于上下文的自适应的变长编码进行的熵编码(CAVLC)。主要用于可视电话、会议电视、无线通信等实时视频通信;
2)主要档次:支持隔行视频,采用B片的帧间编码和采用加权预测的帧内编码;支持利用基于上下文的自适应的算术编码(CABAC)。主要用于数字广播电视与数字视频存储;
3)扩展档次:支持码流之间有效的切换(SP和SI片)、改进误码性能(数据分割),但不支持隔行视频和CABAC。主要用于网络的视频流,如视频点播。

Reference

这个参数是指一个GOP中参考帧的个数,比如说,是否是P帧只参考前面的I 帧与相邻的P帧。
参考帧的个数有多少,我们就需要有多少个解码buffer count, 只有两个参考帧,就需要2个 decoded buffer count。

主码流/副码流

主码流位率高,图像质量高,便于本地存储;副码流位率低,图像质量低,便于网络传输。

总结:

编码参数不能只知道帧率,码率,I帧间隔,QP因子,更要知道其他参数的作用。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山西茄子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值