How to select video resolution, frame rate, and bitrate?
Concept Explanation
- Resolution: The number of pixels contained in a unit inch.
- Frame rate: A unit of measurement for the number of video frames displayed per unit time, measured in fps (frame per second).
- Bitrate: The number of bits transmitted per second, measured in bps (bit per second).
Setting Resolution, Frame Rate, and Bitrate
When setting video parameters, the main factors to consider are video clarity, screen size, and bandwidth pressure. Generally, adjustments should be made based on the actual scenario. High resolution and high bitrate will ensure high video quality, but at the same time will increase bandwidth pressure, which may cause freezing.
If it is a one-to-one video call scenario with high real-time requirements and clear image, you can use low resolution, and the corresponding frame rate and bitrate should also be low, which will reduce bandwidth pressure. If it is a live streaming scenario with requirements for fine and smooth images, you should use as high a resolution as possible, and the corresponding frame rate and bitrate should also be higher, but this will increase bandwidth pressure. Generally, you can refer to the recommended values in the following scenarios:
| Scenario | Recommended Value |
|---|---|
| Video Call | Resolution 360 × 640, frame rate 15 fps, bitrate 600 Kbps |
| Live Streaming | Resolution 540 x 960, frame rate 24 fps, bitrate 1500 Kbps |
Live streaming scenarios usually require larger bitrate to improve video quality. It is generally recommended to set the live streaming bitrate to twice that of the call scenario.
ZEGO SDK provides preset scenarios. Based on the selected scenario, it automatically applies resolution, bitrate, and frame rate suitable for that scenario to achieve the best experience. For details, please refer to Scenario-based Audio and Video Configuration. If you need special settings for video resolution, frame rate, and bitrate, you can refer to Common Video Configuration, directly use the preset combination values provided by the SDK, or customize parameters.
