Skip to main content

What is frame rate, resolution and bitrate

Justin62628About 4 min

Tips

The following content is taken from FXXS-Encode-Guideopen in new window, thanks for their efforts

What is frame rate and what is resolution

Video is made up of continuous images. Each image, we call a frame. Images are made up of pixels. The number of pixels in an image is called the resolution of the image. For example, an image of 1920x1080 means that it is composed of 1920x1080 pixels horizontally and vertically. The resolution of the video is the resolution of each frame of the image.

A video, how many images are composed of each second, is called the frame-rate of this video. Common frame rates are 24000/1001=23.976, 30000/1001=29.970, 60000/1001=59.940, 25.000, 50.000 and so on. This number is the number of images flashed in one second. For example, 23.976 means that there are 24000 images in 1001 seconds. The frame rate of the video can be constant (cfr, Const Frame-Rate) or variable (vfr, Variable Frame-Rate)

Warning

Please note that SVFI does not support variable frame rate (vfr) processing, and feeding such video to SVFI will cause the audio and video to be out of sync.

SVFI only supports frame rates of integers (such as 25.00, 24.00) and NTSC standard frame rate(frame rates with a denominator of 1001, such as 23.976, 29.97, 59.94) as input.

Feeding other types of frame rates (such as 24.5) will be regarded as NTSC standard frame rates and will cause the output audio and video to be out of sync.

Bitrate

Bitrate is defined as video file volume divided by time. The unit is generally Kbps (Kbit/s) or Mbps (Mbit/s). Note that 1B (Byte) = 8b (bit). So a 24 minute, 900MB video:

  • Size: 900MB = 900MByte = 7200Mbit

  • Time: 24min = 1440s

  • Bit rate: 7200/1440 = 5000 Kbps = 5Mbps

When the time of video files is basically the same (for example, an episode of anime lasts for around 24 minutes), the bit rate and volume are basically equivalent, and they are parameters used to describe the size of the video. Files with the same length and resolution have different sizes, but the code rate is actually different.

The bit rate can also be interpreted as the total amount of data used to record video per unit time. A video with a higher bit rate means more data used to record the video, and the potential interpretation is that the video can have better quality. (Note that it is only potential, we will explain why high bit rate does not necessarily equal high image quality later)

Rate Control Method

Bit rate control refers to the process of determining the output bit rate in video encoding. Commonly used bit rate control methods are:

CBR (Constant Bitrate)

CBR means that the file is at a constant bitrate from beginning to end. Compared with VBR and ABR, the compressed file size is very large, and the video quality will not be significantly improved compared with VBR and ABR.

Features:

  • The bit rate is stable, but the quality is unstable, and the effective bandwidth utilization rate is not high, especially when the value is set unreasonably. In complex motion scenes, if the set bit rate is not enough, the picture will be very blurred, which greatly affects the viewing experience;
  • However, the output video bit rate is basically stable, which is convenient for calculating the video volume;

VBR (Variable Bitrate)

Dynamic bit rate, that is, there is no fixed bit rate. Audio and video encoding software instantly determines which bit rate to use according to the complexity of the audio and video data during the encode process. This is a way to take quality into account while taking file size into consideration.

Compared to CBR:

Applicable scenarios: VBR is suitable for scenarios where the bandwidth and encoding speed are not limited, but the quality is high. Especially in complex sports scenes with large motions, it can maintain a relatively high definition and output quality is relatively stable, suitable for on-demand, recording or storage systems that are not sensitive to delay.

Features:

  • The code rate is unstable, and the quality is basically stable and very high;
  • The encoding speed is generally slow, and the on-demand, download and storage systems can be used first, which is not suitable for low-latency and live broadcast systems;
  • This model does not consider the output video bandwidth at all. For the sake of quality, it takes up as much bit rate as it needs, and does not consider the encoding speed;

CQP (Constant QP)

It should be counted as the way the encoder implements VBR

Fixed QP, the simplest code rate control method, each frame of image is encoded according to a specific QP, the amount of data encoded in each frame is unknown, neither the code rate priority model nor the quality priority model, but it is Implement the simplest model;

Applicable scenarios: This method is generally not recommended, because this method does not consider the complexity of the encoded content, and processes each frame with the same compression ratio. The output video quality and bit rate are not fixed. Personally, I think only very simple scenes, such as static scenes with little movement, can be used. When encountering complex scenes, the bit rate fluctuations are very large. Or it can be used in algorithm research or verification.

Features:

  • The instantaneous bit rate will fluctuate with the complexity of the scene;
  • The encoding speed is fast, the control is the simplest, and the QP value of each frame is the same;

CRF (Constant Rate Factor)

It should be counted as the way the encoder implements VBR
Constant bit rate factor. Target a certain "visual quality" as an output. It does this by reducing the bitrate of frames that are expensive but hard to see with the naked eye (high-speed motion or rich textures) and boosting the bitrate of static frames.

Features:

QP changes between frames, QP changes of intra-frame macroblocks, the output bit rate is unknown, and the visual quality of each frame output is basically constant. This method is equivalent to the method of fixed quality mode + limiting bit rate peak value.

  • Applicable scenarios: When there are certain requirements for video quality, the CRF value can be simply understood as a fixed output value for video quality expectations. It is hoped that there will be a stable value no matter in complex moving scenes or in simple static situations. Subjective video quality can choose this mode, which is a video quality priority model. Video quality can be simply understood as the clarity of the video, the fineness of the pixels and the fluency of the video.
  • Similar to constant QP, but the pursuit of constant subjectively perceived quality, the instantaneous bit rate will also fluctuate with the complexity of the scene, and the QP values ​​are different between video frames or between internal macroblocks;
  • For scenes with fast motion or rich details, the quantization distortion will be appropriately increased (because the human eye is not sensitive), and vice versa for static or flat areas, the quantization distortion will be reduced;

Tips

SVFI has built-in rendering quality CRF (that is, CRF or CQP), target bit rate (CBR) two rate control schemes.

When using rendering quality CRF to control bit rate, SVFI uses CRF control for encoders other than NVENC; uses CQP bit rate control for NVENC encoder.

When using target bit rate to control the bit rate, uniformly use constant bit rate (CBR) control.

Last update:
Contributors: Justin62628,DAMNCRAB