\hypertarget{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_scenario}{}\doxysection{io.\+agora.\+rtc2.\+Constants.\+Video\+Scenario Enum Reference}
\label{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_scenario}\index{io.agora.rtc2.Constants.VideoScenario@{io.agora.rtc2.Constants.VideoScenario}}


The video application scenarios.  


\doxysubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_scenario_a65b8acc6551468adb1e9eb8e6cd73005}\label{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_scenario_a65b8acc6551468adb1e9eb8e6cd73005}} 
static int {\bfseries get\+Value} (\mbox{\hyperlink{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_scenario}{Video\+Scenario}} type)
\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_scenario_a994a543299aa557b00648aed5ec136a7}{A\+P\+P\+L\+I\+C\+A\+T\+I\+O\+N\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+G\+E\+N\+E\+R\+AL}} =(0)
\item 
\mbox{\hyperlink{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_scenario_ac2b7380ccad1d7421de51c327060d5d3}{A\+P\+P\+L\+I\+C\+A\+T\+I\+O\+N\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+M\+E\+E\+T\+I\+NG}} =(1)
\item 
\mbox{\hyperlink{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_scenario_af4641bbad293abbec895d97351f90fd7}{A\+P\+P\+L\+I\+C\+A\+T\+I\+O\+N\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+1\+V1}} =(2)
\item 
\mbox{\hyperlink{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_scenario_a17614e0995a46c35060194bdac7c6d50}{A\+P\+P\+L\+I\+C\+A\+T\+I\+O\+N\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+L\+I\+V\+E\+S\+H\+OW}} =(3)
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
The video application scenarios. 

\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_scenario_a994a543299aa557b00648aed5ec136a7}\label{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_scenario_a994a543299aa557b00648aed5ec136a7}} 
\index{io.agora.rtc2.Constants.VideoScenario@{io.agora.rtc2.Constants.VideoScenario}!APPLICATION\_SCENARIO\_GENERAL@{APPLICATION\_SCENARIO\_GENERAL}}
\index{APPLICATION\_SCENARIO\_GENERAL@{APPLICATION\_SCENARIO\_GENERAL}!io.agora.rtc2.Constants.VideoScenario@{io.agora.rtc2.Constants.VideoScenario}}
\doxysubsubsection{\texorpdfstring{APPLICATION\_SCENARIO\_GENERAL}{APPLICATION\_SCENARIO\_GENERAL}}
{\footnotesize\ttfamily io.\+agora.\+rtc2.\+Constants.\+Video\+Scenario.\+A\+P\+P\+L\+I\+C\+A\+T\+I\+O\+N\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+G\+E\+N\+E\+R\+AL =(0)}

0\+: (Default) The general scenario. \mbox{\Hypertarget{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_scenario_ac2b7380ccad1d7421de51c327060d5d3}\label{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_scenario_ac2b7380ccad1d7421de51c327060d5d3}} 
\index{io.agora.rtc2.Constants.VideoScenario@{io.agora.rtc2.Constants.VideoScenario}!APPLICATION\_SCENARIO\_MEETING@{APPLICATION\_SCENARIO\_MEETING}}
\index{APPLICATION\_SCENARIO\_MEETING@{APPLICATION\_SCENARIO\_MEETING}!io.agora.rtc2.Constants.VideoScenario@{io.agora.rtc2.Constants.VideoScenario}}
\doxysubsubsection{\texorpdfstring{APPLICATION\_SCENARIO\_MEETING}{APPLICATION\_SCENARIO\_MEETING}}
{\footnotesize\ttfamily io.\+agora.\+rtc2.\+Constants.\+Video\+Scenario.\+A\+P\+P\+L\+I\+C\+A\+T\+I\+O\+N\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+M\+E\+E\+T\+I\+NG =(1)}

1\+: The meeting scenario. {\ttfamily A\+P\+P\+L\+I\+C\+A\+T\+I\+O\+N\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+M\+E\+E\+T\+I\+NG} (1) is suitable for meeting scenarios. The S\+DK automatically enables the following strategies\+:
\begin{DoxyItemize}
\item In meeting scenarios where low-\/quality video streams are required to have a high bitrate, the S\+DK 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.
\item The S\+DK 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.
\begin{DoxyItemize}
\item If nobody subscribers to the high-\/quality stream, the S\+DK automatically reduces its bitrate and frame rate to save upstream bandwidth.
\item If someone subscribes to the high-\/quality stream, the S\+DK resets the high-\/quality stream to the {\ttfamily Video\+Encoder\+Configuration} configuration used in the most recent calling of {\ttfamily set\+Video\+Encoder\+Configuration}. If no configuration has been set by the user previously, the following values are used\+:
\begin{DoxyItemize}
\item Resolution\+: 960 × 540
\item Frame rate\+: 15 fps
\item Bitrate\+: 1000 Kbps
\end{DoxyItemize}
\end{DoxyItemize}
\item The S\+DK 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.
\begin{DoxyItemize}
\item If nobody subscribes to the low-\/quality stream, the S\+DK automatically disables it to save upstream bandwidth.
\item If someone subscribes to the low-\/quality stream, the S\+DK enables the low-\/quality stream and resets it to the {\ttfamily \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_simulcast_stream_config}{Simulcast\+Stream\+Config}}} configuration used in the most recent calling of {\ttfamily set\+Dual\+Stream\+Mode(\mbox{\hyperlink{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_simulcast_stream_mode}{Constants.\+Simulcast\+Stream\+Mode}} mode, \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_simulcast_stream_config}{Simulcast\+Stream\+Config}} stream\+Config)}. If no configuration has been set by the user previously, the following values are used\+:
\begin{DoxyItemize}
\item Resolution\+: 480 × 272
\item Frame rate\+: 15 fps
\item Bitrate\+: 500 Kbps \begin{DoxyNote}{Note}
If the user has called {\ttfamily set\+Dual\+Stream\+Mode(\mbox{\hyperlink{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_simulcast_stream_mode}{Constants.\+Simulcast\+Stream\+Mode}} mode, \mbox{\hyperlink{classio_1_1agora_1_1rtc2_1_1_simulcast_stream_config}{Simulcast\+Stream\+Config}} stream\+Config)} to set that never send low-\/quality video stream ( {\ttfamily D\+I\+S\+A\+B\+L\+E\+\_\+\+S\+I\+M\+U\+L\+C\+A\+S\+T\+\_\+\+S\+T\+R\+E\+AM} ), the dynamic adjustment of the low-\/quality stream in meeting scenarios will not take effect. 
\end{DoxyNote}

\end{DoxyItemize}
\end{DoxyItemize}
\end{DoxyItemize}\mbox{\Hypertarget{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_scenario_af4641bbad293abbec895d97351f90fd7}\label{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_scenario_af4641bbad293abbec895d97351f90fd7}} 
\index{io.agora.rtc2.Constants.VideoScenario@{io.agora.rtc2.Constants.VideoScenario}!APPLICATION\_SCENARIO\_1V1@{APPLICATION\_SCENARIO\_1V1}}
\index{APPLICATION\_SCENARIO\_1V1@{APPLICATION\_SCENARIO\_1V1}!io.agora.rtc2.Constants.VideoScenario@{io.agora.rtc2.Constants.VideoScenario}}
\doxysubsubsection{\texorpdfstring{APPLICATION\_SCENARIO\_1V1}{APPLICATION\_SCENARIO\_1V1}}
{\footnotesize\ttfamily io.\+agora.\+rtc2.\+Constants.\+Video\+Scenario.\+A\+P\+P\+L\+I\+C\+A\+T\+I\+O\+N\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+1\+V1 =(2)}

2\+: 1v1 video call scenario. {\ttfamily A\+P\+P\+L\+I\+C\+A\+T\+I\+O\+N\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+1\+V1} (2) This is applicable to the {\ttfamily one to one live} scenario. To meet the requirements for low latency and high-\/quality video in this scenario, the S\+DK 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. \begin{DoxyNote}{Note}
This enumeration value is only applicable to the broadcaster vs. broadcaster scenario. 
\end{DoxyNote}
\mbox{\Hypertarget{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_scenario_a17614e0995a46c35060194bdac7c6d50}\label{enumio_1_1agora_1_1rtc2_1_1_constants_1_1_video_scenario_a17614e0995a46c35060194bdac7c6d50}} 
\index{io.agora.rtc2.Constants.VideoScenario@{io.agora.rtc2.Constants.VideoScenario}!APPLICATION\_SCENARIO\_LIVESHOW@{APPLICATION\_SCENARIO\_LIVESHOW}}
\index{APPLICATION\_SCENARIO\_LIVESHOW@{APPLICATION\_SCENARIO\_LIVESHOW}!io.agora.rtc2.Constants.VideoScenario@{io.agora.rtc2.Constants.VideoScenario}}
\doxysubsubsection{\texorpdfstring{APPLICATION\_SCENARIO\_LIVESHOW}{APPLICATION\_SCENARIO\_LIVESHOW}}
{\footnotesize\ttfamily io.\+agora.\+rtc2.\+Constants.\+Video\+Scenario.\+A\+P\+P\+L\+I\+C\+A\+T\+I\+O\+N\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+L\+I\+V\+E\+S\+H\+OW =(3)}


\begin{DoxyEnumerate}
\item Live show scenario. {\ttfamily A\+P\+P\+L\+I\+C\+A\+T\+I\+O\+N\+\_\+\+S\+C\+E\+N\+A\+R\+I\+O\+\_\+\+L\+I\+V\+E\+S\+H\+OW} (3) This is applicable to the {\ttfamily show room} scenario. In this scenario, fast video rendering and high image quality are crucial. The S\+DK implements several performance optimizations, including automatically enabling accelerated audio and video frame rendering to minimize first-\/frame latency (no need to call {\ttfamily enable\+Instant\+Media\+Rendering} ), and B-\/frame encoding to achieve better image quality and bandwidth efficiency. The S\+DK also provides enhanced video quality and smooth playback, even in poor network conditions or on lower-\/end devices. 
\end{DoxyEnumerate}