FFmpeg -qscale vs -crf: What is the Difference?

When compressing media in FFmpeg, choosing the right rate control method is crucial for balancing quality and file size. This article explains the key differences between the -qscale (also known as -q) and -crf (Constant Rate Factor) options, detailing how they work, which encoders they apply to, and when you should use each one to optimize your video and audio encodes.

What is -qscale?

The -qscale (or -q:v for video, -q:a for audio) option stands for “quality scale.” It instructs FFmpeg to use a fixed quantization parameter (QP) or quality level throughout the entire encoding process.

What is -crf?

The -crf option stands for “Constant Rate Factor.” It is the default and highly recommended quality-setting option for modern video encoders.

Key Differences