x264 参数: -crf

x264中的码率控制方式

码率控制是一种决定为每一个视频帧分配多少比特数的方法,它将决定文件的大小和质量的分配
X264显式支持的一趟码率控制方法有:ABR, CQP, CRF. 缺省方法是CRF。
这三种方式的优先级是ABR > CQP > CRF.
对于普通用户通常有两种码率控制模式:crf(Constant Rate Factor)和Two pass ABR

crf(Constant Rate Factor)

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

量化比例的范围为0 ~ 51,其中0为无损模式,23为缺省值,51可能是最差的
该数字越小,图像质量越好。
从主观上讲,18~28是一个合理的范围
18往往被认为从视觉上看是无损的,它的输出视频质量和输入视频一模一样或者说相差无几。
但从技术的角度来讲,它依然是有损压缩。
若Crf值加6,输出码率大概减少一半;若Crf值减6,输出码率翻倍
通常是在保证可接受视频质量的前提下选择一个最大的Crf值,如果输出视频质量很好,那就尝试一个更大的值,如果看起来很糟,那就尝试一个小一点值。

命令行参数-crf

在优先保证画面质量(也不太在乎转码时间)的情况下,使用-crf参数来控制转码是比较适宜的。
这个参数的取值范围为0~51,其中0为无损模式,数值越大,画质越差,生成的文件却越小。
从主观上讲,18~28是一个合理的范围。
18被认为是视觉无损的(从技术角度上看当然还是有损的),它的输出视频质量和输入视频相当

ffmpeg -i D:\input.mp4 -c:v libx264 -preset veryslow -crf 18 -c:a copy output.mp4

References:

https://blog.csdn.net/happydeer/article/details/52610060
https://blog.csdn.net/chenchong_219/article/details/43941633
https://blog.csdn.net/vblittleboy/article/details/8982857

你可能感兴趣的:(x264 参数: -crf)