What is -crf used for in ffmpeg
That refers to the Constant Rate Factor (crf
).
As others have pointed out (Thanks all), the values will depend on which encoder you're using.
For x264 your valid range is 0-51
:
The range of the quantizer scale is 0-51: where 0 is lossless, 23 is default, and 51 is worst possible. A lower value is a higher quality and a subjectively sane range is 18-28. Consider 18 to be visually lossless or nearly so: it should look the same or nearly the same as the input but it isn't technically lossless.
For vpx the range is 4-63
(as @sebastian-hoffner answered):
By default the CRF value can be from 4–63, and 10 is a good starting point. Lower values mean better quality.
In both cases, a lower value means higher quality. In my experience, I see x264 much more often.
Slhck's shameless plug (an SU mod) link looks like it has some good info.
The crf flag ensures a variable bitrate for constant quality, if I understand the page linked below correctly. The default range is from 4 to 63, but it can be tweaked further.
Have a look at https://trac.ffmpeg.org/wiki/Encode/VP9 for more information.