setVideoScenario

Sets video application scenarios.

Future<void> setVideoScenario(VideoApplicationScenarioType scenarioType);

Details

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 VideoApplicationScenarioType.
If set to applicationScenarioMeeting (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: (Windows and macOS) 1280 × 720; (Android and iOS) 960 × 540
      • Frame rate: 15 fps
      • Bitrate: (Windows and macOS) 1600 Kbps; (Android and iOS) 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 to set that never send low-quality video stream (disableSimulcastStream), 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. 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

Exceptions

When the method call succeeds, there is no return value; when fails, the AgoraRtcException exception is thrown; and you need to catch the exception and handle it accordingly.