Agora Java API Reference for Android

Static Public Member Functions | Public Attributes | List of all members
io.agora.rtc2.Constants.VideoScenario Enum Reference

The video application scenarios. More...

## Static Public Member Functions
static int | getValue (VideoScenario type)

## Public Attributes
| APPLICATION_SCENARIO_GENERAL =(0)
| APPLICATION_SCENARIO_MEETING =(1)
| APPLICATION_SCENARIO_1V1 =(2)
| APPLICATION_SCENARIO_LIVESHOW =(3)

## Detailed Description

The video application scenarios.

## Member Data Documentation

## ◆ APPLICATION_SCENARIO_GENERAL

io.agora.rtc2.Constants.VideoScenario.APPLICATION_SCENARIO_GENERAL =(0)

0: (Default) The general scenario.

## ◆ APPLICATION_SCENARIO_MEETING

io.agora.rtc2.Constants.VideoScenario.APPLICATION_SCENARIO_MEETING =(1)

1: The meeting scenario. `APPLICATION_SCENARIO_MEETING` (1) is suitable for meeting scenarios. 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.
  - 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(Constants.SimulcastStreamMode mode, SimulcastStreamConfig streamConfig)`. 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
      Note
        If the user has called `setDualStreamMode(Constants.SimulcastStreamMode mode, SimulcastStreamConfig streamConfig)` 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.

## ◆ APPLICATION_SCENARIO_1V1

io.agora.rtc2.Constants.VideoScenario.APPLICATION_SCENARIO_1V1 =(2)

2: 1v1 video call scenario. `APPLICATION_SCENARIO_1V1` (2) This is applicable to the `one to one live` scenario. To meet the requirements for low latency and high-quality video in this scenario, the SDK optimizes its strategies, improving performance in terms of video quality, first frame rendering, latency on mid-to-low-end devices, and smoothness under weak network conditions.

Note
  This enumeration value is only applicable to the broadcaster vs. broadcaster scenario.

## ◆ APPLICATION_SCENARIO_LIVESHOW

io.agora.rtc2.Constants.VideoScenario.APPLICATION_SCENARIO_LIVESHOW =(3)

1. Live show scenario. `APPLICATION_SCENARIO_LIVESHOW` (3) This is applicable to the `show room` scenario. In this scenario, fast video rendering and high image quality are crucial. The SDK implements several performance optimizations, including automatically enabling accelerated audio and video frame rendering to minimize first-frame latency (no need to call `enableInstantMediaRendering` ), and B-frame encoding to achieve better image quality and bandwidth efficiency. The SDK also provides enhanced video quality and smooth playback, even in poor network conditions or on lower-end devices.