Glossary

What is Capped CRF?

what is capped CRF in video rate control

Capped CRF is a video encoding technique that combines Constant Rate Factor (CRF) rate-control with a bitrate cap (or ceiling) to

  • be able to control the video bitrate, while
  • maintaining the video quality at the desired level.

Capped CRF is quite different from

  • VBR rate control that prioritizes quality over hitting or staying under a specific bitrate
  • CBR rate control that prioritizes hitting a specific bitrate over quality

Capped CRF has become quite popular in the video encoding sector because it allows a video encoder to achieve a balance between video quality, file size, and bandwidth limitations, is very useful in video streaming use-cases like OTT streaming, or live streaming applications like gaming, sports, news, church streaming, etc.

In this blog, let’s understand what CRF is, Capped CRF, the advantages and disadvantages of using Capped CRF.

What is CRF or Constant Rate Factor?

Before we dive into understanding what Capped CRF (CRF + MaxRate) is, let us understand what CRF means.

CRF or Constant Rate Factor is a video encoding technique where the encoder aims at attaining a certain quality level throughout the video, rather than achieving a specific bitrate. In other words, you can choose a CRF value and use that to define the output video quality of the video. This is very different from saying that the video should be encoded at 4 mbps.

Typically,

  • a low CRF value will give you better video quality at the expense of a larger file size.
  • a high CRF will give you a smaller file size but poor video quality.

Note: In video compression, bitrate refers to the amount of data used per unit of time (e.g., kbps or mbps). Lower bitrates are ideal for low-bandwidth situations but impact quality in negative ways. To understand bitrate and resolution better, please refer to our article here.

What is Capped CRF?

The problem with using CRF as is, is that the bitrate is not capped or restricted. So, in the pursuit of high video quality or achieving the requested quality, the encoder might produce a very large file that is both expensive to store and difficult to transmit over the Internet.

Such a file might cause buffering or stalls at the video player (due to its highly varying bitrate profile).

In response to this problem, video encoders offer an option Capped CRF.

The Capped CRF feature allows a video encoding engineer to specify two important parameters –

  • a CRF value (that defines the desired quality)
  • a bitrate value (that defines the max bitrate of the output bitstream)

So, for example, you could say something like “give me a bitstream with a CRF of 25 and the bitrate should not exceed 2 mbps”.

What is the impact of specifying both the quality and bitrate targets?

Well, with both these values, the encoder now maintains the chosen CRF value throughout, prioritizes visual consistency, but ensures that it stays within that bitrate cap that you provided.

However, if the encoder needs more bits than allowed to achieve that CRF setting, it might drop the quality on some frames to hit the bitrate cap, so that it can use a higher number of bits on certain difficult-to-encode frames.

Advantages of Capped CRF

Capped CRF offers many advantages for video compression, and they are:

  • Good video quality: CRF is known for delivering very good video quality compared to purely bitrate-based methods.
  • Capped bitrate numbers: by respecting the bitrate cap, Capped CRF ensures a maximum file size or streaming bandwidth, which is important for content delivery planning and device compatibility.
  • Efficient bit allocation: Although it’s not constant bitrate, capped CRF can still allocate less bits to simple scenes, thus (potentially) bringing better quality overall or smaller average file sizes.

Considerations while implementing Capped CRF

When implementing Capped CRF, there are several considerations which we will now look at –

Choosing the right CRF value: it is important to recognize that lower values give higher quality but may frequently hit the bitrate cap; higher values may underutilize available bitrate. So, depending on the network scenarios, devices being used by the end-users, genres, quality requirements, and several other factors, one must choose the right CRF value.

Choosing the maximum bitrate: The maximum bitrate should be set based on delivery constraints and the intended range of playback scenarios; scaling the bitrate up or down depending on stipulations.

Tuning the VBV buffer size: In streaming contexts, careful tuning of the Video Buffering Verifier (VBV) buffer size is necessary to make bitrates smoothly transition without going over the maximum allowed. Analysis of the content could be done offline by pre-encoding, to help pick ideal CRF and bitrate cap values for different kinds of content.

Hope this technical article was useful and helps you encode your videos better. If you have any questions on video compression, feel free to ping us here.

Visionular focuses on the use of AI in video compression (for H.264/AVC, HEVC, and AV1) that enables our video codecs to deliver the highest possible compression efficiency at the best encoding speeds!

Our tech is used by the largest content providers globally to deliver the best user experience and to reduce their OPEX by 25 – 30% at least!

To learn more,