setVideoScenario

Sets video application scenarios.

public abstract int setVideoScenario(Constants.VideoScenario scenarioType);

Details

Since
v4.2.0

After successfully calling this method, the SDK will automatically enable the best practice strategies and adjust key performance metrics based on the specified scenario, to optimize the video experience.

Attention: Ensure that you call this method before joining a channel.

Parameters

scenarioType
The type of video application scenario. See VideoScenario.
If set to APPLICATION_SCENARIO_MEETING (1), the SDK automatically enables the following strategies:
  • In meeting scenarios where low-quality video streams are required to have a high bitrate, the SDK automatically enables multiple technologies used to deal with network congestions, to enhance the performance of the low-quality streams and to ensure the smooth reception by subscribers.
  • The SDK monitors the number of subscribers to the high-quality video stream in real time and dynamically adjusts its configuration based on the number of subscribers.
    • If nobody subscribers to the high-quality stream, the SDK automatically reduces its bitrate and frame rate to save upstream bandwidth.
    • If someone subscribes to the high-quality stream, the SDK resets the high-quality stream to the VideoEncoderConfiguration configuration used in the most recent calling of setVideoEncoderConfiguration. If no configuration has been set by the user previously, the following values are used:
      • Resolution: 960 × 540
      • Frame rate: 15 fps
      • Bitrate: 1000 Kbps
  • The SDK monitors the number of subscribers to the low-quality video stream in real time and dynamically enables or disables it based on the number of subscribers.
    Note: If the user has called setDualStreamMode [2/2] to set that never send low-quality video stream (DISABLE_SIMULCAST_STREAM), the dynamic adjustment of the low-quality stream in meeting scenarios will not take effect.
    • If nobody subscribes to the low-quality stream, the SDK automatically disables it to save upstream bandwidth.
    • If someone subscribes to the low-quality stream, the SDK enables the low-quality stream and resets it to the SimulcastStreamConfig configuration used in the most recent calling of setDualStreamMode [2/2]. If no configuration has been set by the user previously, the following values are used:
      • Resolution: 480 × 272
      • Frame rate: 15 fps
      • Bitrate: 500 Kbps

Returns

  • 0: Success.
  • < 0: Failure.
    • -1: A general error occurs (no specified reason).
    • -4: Video application scenarios are not supported. Possible reasons include that you use the Voice SDK instead of the Video SDK.
    • -7: The RtcEngine object has not been initialized. You need to initialize the RtcEngine object before calling this method.