Skip to main content
This page describes the camera preset PreOptionCamera and defines the “capture configuration + publish configuration” structure shared by all presets. The mic, screen sharing, and custom video presets all reuse this page’s VideoPublishOptions for their publish parameters.

General notes

Purpose: PreOption* presets all use a “capture configuration + publish configuration” structure.
  • Capture configuration: controls local capture behavior (resolution, frame rate, sample rate, device parameters, etc.).
  • Publish configuration: controls publish behavior (desc, codec, maxBitrate, simulcast parameters, etc.).
In meetings, the camera preset is passed through openCamera / openCameraAndPublish, the mic preset through openMic / openMicAndPublish, and the screen sharing preset through initScreenShare. When null is passed for the camera, the default preset is used the first time, and the existing Track configuration is reused after that.

PreOptionCamera

Purpose: Camera track preset that combines camera capture parameters and video publish parameters.

Structure

PreOptionCamera(capture: CameraCaptureOptions, publish: VideoPublishOptions)

Capture configuration CameraCaptureOptions

Purpose: Configures camera capture parameters.

Publish configuration VideoPublishOptions

Purpose: Configures video track publish parameters. All video presets other than the mic reuse this structure.

Known minBitrate limitation

RTC 2.0.33 to 2.0.35 still have this limitation: VideoPublishOptions.deepCopy() doesn’t copy minBitrate, so after copying, minBitrate becomes null for both the high and low streams. Meeting’s parameter parsing and the RTC publish pipeline use deep copies, so the minimum bitrates in the table below are the values declared by the presets—you can’t conclude from them that these versions actually publish with these lower bounds. This issue needs to be fixed and released in RTC before it can be verified; setting the field only on the app side can’t get around the later deep copy.

Built-in presets

Purpose: The following built-in values take effect from RTC 2.0.33 (introduced with Meeting 2.0.37). Capture and publish frame rates are uniformly 15, an intentional adjustment in RTC; if you need another frame rate, pass it explicitly from your app. A new preset doesn’t take effect while capture is already running; close and reopen the camera first. The following presets are supported: _1080P, _720P, _480P, _180P.