Rate Control Simulator

see how CRF adapts bitrate to complexity while CBR holds a fixed target at the cost of quality variance

Loading interactive simulation...

Algorithmic Bitrate Allocation Dynamics 🖖

Rate control within video encoding operates as a complex optimization algorithm balancing target bitrates against fluctuating spatial complexity. Constant Bitrate (CBR) applies rigid constraints, risking quantization artifacts, whereas Constant Rate Factor (CRF) algorithmically modulates data allocation to maintain a steady objective quality metric. The mathematical modeling of encoder buffers prevents transmission overflow, strictly dictating the allocation of discrete data blocks over time.

Set the quality or set the size 🖖

Rate control is really a choice about which knob you fix. With CRF you pick a quality level and let the file size land wherever the footage demands. With CBR you fix the bitrate and let quality rise and fall with the scene. A good rule of thumb: choose CRF for downloads and archives where size can vary, and CBR for live streaming or broadcast where the bandwidth is fixed.

CRF quietly lowers quality on busy scenes 🖖

Despite the name, 'constant' quality is not truly constant. Encoders like x264 deliberately let quality sag on the most complex frames, controlled by a quantizer-curve-compression factor (qcomp, default 0.6) that hands busy scenes fewer bits per pixel than a strictly constant quality would. It works because fast motion masks fine detail, so your eye rarely catches the artifacts hiding inside the action.

Example problems

  • action - Action movie: CRF bitrate spikes 3× during fight sequences; CBR quality drops when buffer runs out
  • screen recording - Screen recording: CRF near-zero bits on static UI; CBR quality crashes when video playback begins
  • sports - Sports with 1-frame buffer: sustained high complexity keeps CBR quality under constant pressure
  • documentary - Documentary at CRF 30: moderate bitrate; isolated complexity spikes visible in both modes