Ratecontrol, in H.264/AVC parlance, means the application of a variety of methods to overall constrain the bitrate of content or consistency of perceptual quality across the entirety of the encode.
For users interested in a constant visual quality, crf (constant rate factor) should be utilized. The typical value for content to be perceived as visually lossless is near 18. Lower numbers will result in higher visual quality but larger file sizes.
The constant quantizer mode is not frequently used, and disables much of the adaptive perceptual features in AVC. It is available for solutions that require it.
The default, average bitrate control, utilizes larger and smaller bitrates over time to achieve an overall bitrate as close to the requested bitrate as possible. It is possible to add VBV parameters like vbv-maxrate and vbv-bufsize to precisely control the maximum bitrate over a given time duration, which can be useful when creating adaptive bitrate manifest-based content like HLS and DASH. Reach out to our support engineers for advice on choosing these parameters if you have a scenario requiring them.
Parameter | Description | Allowed Values | Default Value |
---|---|---|---|
cqp | Enable constant quantizer mode. | Positive Integer | none |
crf | Enable constant quality mode (also known as constant ratefactor). | Float | none |
qmin | Specify the minimum quantizer. | Positive Integer | 10 |
qmax | Specify the maximum quantizer. | Positive Integer | 50 |
qdiff | Specify the maximum QP step. | Positive Integer | 4 |
bt | Specify the allowed variance of average bitrate. | Positive Integer | none |
i_qfactor | Specify the qscale difference between I-frames and P-frames. | Float | 0.71 |
b_qfactor | Specify the qscale difference between P-frames and B-frames. | Float | none |
chromaoffset | Specify the QP difference between chroma and luma. | Positive Integer | none |
pass | Specify how many encoding passes. | 1, 2, 3 | none |
rc_eq | Specify the ratecontrol equation. | String | blurCplx^(1-qComp) |
qcomp | Specify the QP curve compression: 0.0 => CBR, 1.0 => CQP. | Float | 0.60 |
complexityblur | Reduce fluctuations in QP (before curve compression). | Float | 20.0 |
qblur | Reduce fluctuations in QP (after curve compression). | Float | 0.5 |
rc-lookahead | Number of frames to use for mb-tree ratecontrol and vbv-lookahead | Integer number between 0 and 250 | none |