视频编码码率控制

crf(Constant Rate Factor)

该方法在输出文件的大小不太重要的时候,可以使整个文件达到特定的视频质量。该编码模式在单遍编码模式下提供了最大的压缩效率,每一帧可以按照要求的视频质量去获取它需要的比特数。不好的一面是,你不能获取一个特定大小的视频文件,或者说将输出位率控制在特定的大小上。

一种根据片子质量自动分配码率的vbr码率控制方式。一遍编码,如果对码率没要求请尽量使用crf模式。

可用的值从1到51,越小编码质量越好,码率越高。一般使用16到24,可以为浮点。

crf并不是恒定质量的方式,同一片子同一crf值,其他参数不同可能码率和质量能差比较大,不同的片子之间就更没有可比性了。

CRF压制算法设置

crf就是constant ratefactor,就是保证“一定质量”,智能分配码率。智能分配码率包含两个意思:

同 一帧内分配码率。就是在细节的地方分配更多的字节(bits)。实际效果举例:前景细节保留完整,背景压缩得很厉害。帧间分配码率。crf会智能分析哪些 是重要帧,哪些是次要帧。重要帧会得到更多的字节。实际效果举例:帧排列:清晰-模糊-模糊-清晰。但是给人的感觉会是比较清晰的,因为看电影的时候一般 注意焦点,不会去辨认背景。次要帧一般都一闪而过,也不容易注意到。

x264参数设置:

main里面的crf调节是对上面提到的“一定质量”的调节。值18基本为无损,19-21.5为高质量,22-26为中等质量。

在rate control里面还有一个adaptive quantizers,是对智能分配码率的调节。数值越小,智能分配越极端,就是说会把更多的码率给细节和关键帧。大片颜色区域和次要帧会压缩得更厉害。

ABR(Average Bit Rate)

它提供了某种“运行均值”的目标,终极目标是最终文件大小匹配这个“全局平均”数字(因此基本上来说,如果编码器遇到大量码率开销非常小的黑帧,它将以低于要求的比特率编码,但是在接下来几秒内的非黑帧它将以高质量方式编码方式使码率回归均值)使用两边编码模式是这个方法变得更加有效,你可以和“max bit rate ”配合使用来防止码率的波动。

CBR(Constant Bit Rate)码率控制
事实上根本就没有CBR这种模式,但是你可以通过补充ABR参数“模拟”一个恒定比特率设置。

猜你喜欢

转载自blog.csdn.net/bvngh3247/article/details/81562883