Manage video quality

When network bandwidth is limited, you can adjust video quality preferences between resolution and frame rate. Video quality preferences are useful when the primary focus is not the image of a person attending the session, but on other video images where smoothness or sharpness is preferred.

For example, you may want to set video quality preferences for:

  • Transmission of medical X-ray images.
  • Transmission of video captured by endoscopic cameras during a medical operation.
  • Live sporting event broadcasts, such as co-watching or broadcasting a football game.

Video preference modes

Choose from the following modes, depending on what you'd like to prioritize.

  • Balance mode - Zoom does what is best under the current bandwidth situation and makes adjustments as needed. This mode is suitable for video conferencing and is the default preference.
  • Smoothness mode - Preserves the frame rate as much as possible. If network bandwidth degrades, Zoom sacrifices video resolution to preserve the frame rate. This prioritizes a smooth video frame transition.
  • Sharpness mode - Preserves the resolution as much as possible. If network bandwidth degrades, Zoom sacrifices the frame rate to preserve video resolution. This prioritizes a sharp video image.
  • Custom mode - Lets you provide the minimum and maximum frame rate. Use this mode if you understand your network behavior and have a clear idea of how to adjust the frame rate to achieve the desired video quality. Given a resolution, a lower maximum frame rate results in less bandwidth usage. If the bandwidth cannot be sustained by following the minimum and maximum frame rates, the system drops down to the next lower resolution.

Set a preference

Populate a ZoomVideoSDKVideoPreferenceSetting and pass it to setVideoQualityPreference. Set mode to one of the ZoomVideoSDKVideoPreferenceMode values. The minimum_frame_rate and maximum_frame_rate fields apply to custom mode and accept values from 0 to 30, where 0 means the SDK default.

ZoomVideoSDKVideoPreferenceSetting preference;
preference.mode = ZoomVideoSDKVideoPreferenceMode_Custom;
preference.minimum_frame_rate = 15;
preference.maximum_frame_rate = 30;
IZoomVideoSDKVideoHelper* pVideoHelper = m_pVideoSDK->getVideoHelper();
pVideoHelper->setVideoQualityPreference(preference);

mode is one of the following values.

  • ZoomVideoSDKVideoPreferenceMode_Balance
  • ZoomVideoSDKVideoPreferenceMode_Smoothness
  • ZoomVideoSDKVideoPreferenceMode_Sharpness
  • ZoomVideoSDKVideoPreferenceMode_Custom