\hypertarget{structagora_1_1rtc_1_1_video_encoder_configuration}{}\doxysection{agora\+::rtc\+::Video\+Encoder\+Configuration Struct Reference}
\label{structagora_1_1rtc_1_1_video_encoder_configuration}\index{agora::rtc::VideoEncoderConfiguration@{agora::rtc::VideoEncoderConfiguration}}


Video encoder configurations.  




{\ttfamily \#include $<$Agora\+Base.\+h$>$}

\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{structagora_1_1rtc_1_1_video_encoder_configuration_ac6014469c3224d61584b816ff55a796c}\label{structagora_1_1rtc_1_1_video_encoder_configuration_ac6014469c3224d61584b816ff55a796c}} 
{\bfseries Video\+Encoder\+Configuration} (const \mbox{\hyperlink{structagora_1_1rtc_1_1_video_dimensions}{Video\+Dimensions}} \&d, int f, int b, O\+R\+I\+E\+N\+T\+A\+T\+I\+O\+N\+\_\+\+M\+O\+DE m, V\+I\+D\+E\+O\+\_\+\+M\+I\+R\+R\+O\+R\+\_\+\+M\+O\+D\+E\+\_\+\+T\+Y\+PE mirror=V\+I\+D\+E\+O\+\_\+\+M\+I\+R\+R\+O\+R\+\_\+\+M\+O\+D\+E\+\_\+\+D\+I\+S\+A\+B\+L\+ED)
\item 
\mbox{\Hypertarget{structagora_1_1rtc_1_1_video_encoder_configuration_ab5ef38e3c50320d0829351ffc0289d41}\label{structagora_1_1rtc_1_1_video_encoder_configuration_ab5ef38e3c50320d0829351ffc0289d41}} 
{\bfseries Video\+Encoder\+Configuration} (int width, int height, int f, int b, O\+R\+I\+E\+N\+T\+A\+T\+I\+O\+N\+\_\+\+M\+O\+DE m, V\+I\+D\+E\+O\+\_\+\+M\+I\+R\+R\+O\+R\+\_\+\+M\+O\+D\+E\+\_\+\+T\+Y\+PE mirror=V\+I\+D\+E\+O\+\_\+\+M\+I\+R\+R\+O\+R\+\_\+\+M\+O\+D\+E\+\_\+\+D\+I\+S\+A\+B\+L\+ED)
\item 
\mbox{\Hypertarget{structagora_1_1rtc_1_1_video_encoder_configuration_af0da8ba4875febcedb24021cc71a696d}\label{structagora_1_1rtc_1_1_video_encoder_configuration_af0da8ba4875febcedb24021cc71a696d}} 
{\bfseries Video\+Encoder\+Configuration} (const \mbox{\hyperlink{structagora_1_1rtc_1_1_video_encoder_configuration}{Video\+Encoder\+Configuration}} \&config)
\item 
\mbox{\Hypertarget{structagora_1_1rtc_1_1_video_encoder_configuration_a69124681e1bee0952b2ca30ccebc889f}\label{structagora_1_1rtc_1_1_video_encoder_configuration_a69124681e1bee0952b2ca30ccebc889f}} 
\mbox{\hyperlink{structagora_1_1rtc_1_1_video_encoder_configuration}{Video\+Encoder\+Configuration}} \& {\bfseries operator=} (const \mbox{\hyperlink{structagora_1_1rtc_1_1_video_encoder_configuration}{Video\+Encoder\+Configuration}} \&rhs)
\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
V\+I\+D\+E\+O\+\_\+\+C\+O\+D\+E\+C\+\_\+\+T\+Y\+PE \mbox{\hyperlink{structagora_1_1rtc_1_1_video_encoder_configuration_a7af2f2459b1d279fed2f43814662a789}{codec\+Type}}
\item 
\mbox{\hyperlink{structagora_1_1rtc_1_1_video_dimensions}{Video\+Dimensions}} \mbox{\hyperlink{structagora_1_1rtc_1_1_video_encoder_configuration_af31036bc7b00a4497716b1eb367d868d}{dimensions}}
\item 
int \mbox{\hyperlink{structagora_1_1rtc_1_1_video_encoder_configuration_ae0fb4d92e1ed877758bf05f4e0b8a9da}{frame\+Rate}}
\item 
int \mbox{\hyperlink{structagora_1_1rtc_1_1_video_encoder_configuration_af10ca07d888e2f33b34feb431300da69}{bitrate}}
\item 
int \mbox{\hyperlink{structagora_1_1rtc_1_1_video_encoder_configuration_ab3249ca88227aaf36f21681b9de7ced2}{min\+Bitrate}}
\item 
O\+R\+I\+E\+N\+T\+A\+T\+I\+O\+N\+\_\+\+M\+O\+DE \mbox{\hyperlink{structagora_1_1rtc_1_1_video_encoder_configuration_acdd8e209a4e4dafceef5879988f39fb6}{orientation\+Mode}}
\item 
D\+E\+G\+R\+A\+D\+A\+T\+I\+O\+N\+\_\+\+P\+R\+E\+F\+E\+R\+E\+N\+CE \mbox{\hyperlink{structagora_1_1rtc_1_1_video_encoder_configuration_a491316b0de64bf930938404b113f062f}{degradation\+Preference}}
\item 
V\+I\+D\+E\+O\+\_\+\+M\+I\+R\+R\+O\+R\+\_\+\+M\+O\+D\+E\+\_\+\+T\+Y\+PE \mbox{\hyperlink{structagora_1_1rtc_1_1_video_encoder_configuration_a1ca537cb6966901330bce3681194ceb5}{mirror\+Mode}}
\item 
\mbox{\hyperlink{structagora_1_1rtc_1_1_advance_options}{Advance\+Options}} \mbox{\hyperlink{structagora_1_1rtc_1_1_video_encoder_configuration_a4e712fcd4039a320d82478f289733b18}{advance\+Options}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Video encoder configurations. 

\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{structagora_1_1rtc_1_1_video_encoder_configuration_a7af2f2459b1d279fed2f43814662a789}\label{structagora_1_1rtc_1_1_video_encoder_configuration_a7af2f2459b1d279fed2f43814662a789}} 
\index{agora::rtc::VideoEncoderConfiguration@{agora::rtc::VideoEncoderConfiguration}!codecType@{codecType}}
\index{codecType@{codecType}!agora::rtc::VideoEncoderConfiguration@{agora::rtc::VideoEncoderConfiguration}}
\doxysubsubsection{\texorpdfstring{codecType}{codecType}}
{\footnotesize\ttfamily V\+I\+D\+E\+O\+\_\+\+C\+O\+D\+E\+C\+\_\+\+T\+Y\+PE agora\+::rtc\+::\+Video\+Encoder\+Configuration\+::codec\+Type}

The codec type of the local video stream. See {\ttfamily V\+I\+D\+E\+O\+\_\+\+C\+O\+D\+E\+C\+\_\+\+T\+Y\+PE}. \mbox{\Hypertarget{structagora_1_1rtc_1_1_video_encoder_configuration_af31036bc7b00a4497716b1eb367d868d}\label{structagora_1_1rtc_1_1_video_encoder_configuration_af31036bc7b00a4497716b1eb367d868d}} 
\index{agora::rtc::VideoEncoderConfiguration@{agora::rtc::VideoEncoderConfiguration}!dimensions@{dimensions}}
\index{dimensions@{dimensions}!agora::rtc::VideoEncoderConfiguration@{agora::rtc::VideoEncoderConfiguration}}
\doxysubsubsection{\texorpdfstring{dimensions}{dimensions}}
{\footnotesize\ttfamily \mbox{\hyperlink{structagora_1_1rtc_1_1_video_dimensions}{Video\+Dimensions}} agora\+::rtc\+::\+Video\+Encoder\+Configuration\+::dimensions}

The dimensions of the encoded video (px). See {\ttfamily \mbox{\hyperlink{structagora_1_1rtc_1_1_video_dimensions}{Video\+Dimensions}}}. This parameter measures the video encoding quality in the format of length × width. The default value is 960 × 540. You can set a custom value. \mbox{\Hypertarget{structagora_1_1rtc_1_1_video_encoder_configuration_ae0fb4d92e1ed877758bf05f4e0b8a9da}\label{structagora_1_1rtc_1_1_video_encoder_configuration_ae0fb4d92e1ed877758bf05f4e0b8a9da}} 
\index{agora::rtc::VideoEncoderConfiguration@{agora::rtc::VideoEncoderConfiguration}!frameRate@{frameRate}}
\index{frameRate@{frameRate}!agora::rtc::VideoEncoderConfiguration@{agora::rtc::VideoEncoderConfiguration}}
\doxysubsubsection{\texorpdfstring{frameRate}{frameRate}}
{\footnotesize\ttfamily int agora\+::rtc\+::\+Video\+Encoder\+Configuration\+::frame\+Rate}

The frame rate (fps) of the encoding video frame. The default value is 15. See {\ttfamily F\+R\+A\+M\+E\+\_\+\+R\+A\+TE}. \mbox{\Hypertarget{structagora_1_1rtc_1_1_video_encoder_configuration_af10ca07d888e2f33b34feb431300da69}\label{structagora_1_1rtc_1_1_video_encoder_configuration_af10ca07d888e2f33b34feb431300da69}} 
\index{agora::rtc::VideoEncoderConfiguration@{agora::rtc::VideoEncoderConfiguration}!bitrate@{bitrate}}
\index{bitrate@{bitrate}!agora::rtc::VideoEncoderConfiguration@{agora::rtc::VideoEncoderConfiguration}}
\doxysubsubsection{\texorpdfstring{bitrate}{bitrate}}
{\footnotesize\ttfamily int agora\+::rtc\+::\+Video\+Encoder\+Configuration\+::bitrate}

The encoding bitrate (Kbps) of the video. This parameter does not need to be set; keeping the default value {\ttfamily S\+T\+A\+N\+D\+A\+R\+D\+\_\+\+B\+I\+T\+R\+A\+TE} is sufficient. The S\+DK automatically matches the most suitable bitrate based on the video resolution and frame rate you have set. For the correspondence between video resolution and frame rate, see {\ttfamily Video profile}.
\begin{DoxyItemize}
\item S\+T\+A\+N\+D\+A\+R\+D\+\_\+\+B\+I\+T\+R\+A\+TE (0)\+: (Recommended) Standard bitrate mode.
\item C\+O\+M\+P\+A\+T\+I\+B\+L\+E\+\_\+\+B\+I\+T\+R\+A\+TE (-\/1)\+: Adaptive bitrate mode. In general, Agora suggests that you do not use this value. 
\end{DoxyItemize}\mbox{\Hypertarget{structagora_1_1rtc_1_1_video_encoder_configuration_ab3249ca88227aaf36f21681b9de7ced2}\label{structagora_1_1rtc_1_1_video_encoder_configuration_ab3249ca88227aaf36f21681b9de7ced2}} 
\index{agora::rtc::VideoEncoderConfiguration@{agora::rtc::VideoEncoderConfiguration}!minBitrate@{minBitrate}}
\index{minBitrate@{minBitrate}!agora::rtc::VideoEncoderConfiguration@{agora::rtc::VideoEncoderConfiguration}}
\doxysubsubsection{\texorpdfstring{minBitrate}{minBitrate}}
{\footnotesize\ttfamily int agora\+::rtc\+::\+Video\+Encoder\+Configuration\+::min\+Bitrate}

The minimum encoding bitrate (Kbps) of the video. The S\+DK automatically adjusts the encoding bitrate to adapt to the network conditions. Using a value greater than the default value forces the video encoder to output high-\/quality images but may cause more packet loss and sacrifice the smoothness of the video transmission. Unless you have special requirements for image quality, Agora does not recommend changing this value. \begin{DoxyNote}{Note}
This parameter only applies to the interactive streaming profile. 
\end{DoxyNote}
\mbox{\Hypertarget{structagora_1_1rtc_1_1_video_encoder_configuration_acdd8e209a4e4dafceef5879988f39fb6}\label{structagora_1_1rtc_1_1_video_encoder_configuration_acdd8e209a4e4dafceef5879988f39fb6}} 
\index{agora::rtc::VideoEncoderConfiguration@{agora::rtc::VideoEncoderConfiguration}!orientationMode@{orientationMode}}
\index{orientationMode@{orientationMode}!agora::rtc::VideoEncoderConfiguration@{agora::rtc::VideoEncoderConfiguration}}
\doxysubsubsection{\texorpdfstring{orientationMode}{orientationMode}}
{\footnotesize\ttfamily O\+R\+I\+E\+N\+T\+A\+T\+I\+O\+N\+\_\+\+M\+O\+DE agora\+::rtc\+::\+Video\+Encoder\+Configuration\+::orientation\+Mode}

The orientation mode of the encoded video. See {\ttfamily O\+R\+I\+E\+N\+T\+A\+T\+I\+O\+N\+\_\+\+M\+O\+DE}. \mbox{\Hypertarget{structagora_1_1rtc_1_1_video_encoder_configuration_a491316b0de64bf930938404b113f062f}\label{structagora_1_1rtc_1_1_video_encoder_configuration_a491316b0de64bf930938404b113f062f}} 
\index{agora::rtc::VideoEncoderConfiguration@{agora::rtc::VideoEncoderConfiguration}!degradationPreference@{degradationPreference}}
\index{degradationPreference@{degradationPreference}!agora::rtc::VideoEncoderConfiguration@{agora::rtc::VideoEncoderConfiguration}}
\doxysubsubsection{\texorpdfstring{degradationPreference}{degradationPreference}}
{\footnotesize\ttfamily D\+E\+G\+R\+A\+D\+A\+T\+I\+O\+N\+\_\+\+P\+R\+E\+F\+E\+R\+E\+N\+CE agora\+::rtc\+::\+Video\+Encoder\+Configuration\+::degradation\+Preference}

Video degradation preference under limited bandwidth. See {\ttfamily D\+E\+G\+R\+A\+D\+A\+T\+I\+O\+N\+\_\+\+P\+R\+E\+F\+E\+R\+E\+N\+CE}. \begin{DoxyNote}{Note}
When this parameter is set to M\+A\+I\+N\+T\+A\+I\+N\+\_\+\+F\+R\+A\+M\+E\+R\+A\+TE (1) or M\+A\+I\+N\+T\+A\+I\+N\+\_\+\+B\+A\+L\+A\+N\+C\+ED (2), {\ttfamily orientation\+Mode} needs to be set to O\+R\+I\+E\+N\+T\+A\+T\+I\+O\+N\+\_\+\+M\+O\+D\+E\+\_\+\+A\+D\+A\+P\+T\+I\+VE (0) at the same time, otherwise the setting will not take effect. 
\end{DoxyNote}
\mbox{\Hypertarget{structagora_1_1rtc_1_1_video_encoder_configuration_a1ca537cb6966901330bce3681194ceb5}\label{structagora_1_1rtc_1_1_video_encoder_configuration_a1ca537cb6966901330bce3681194ceb5}} 
\index{agora::rtc::VideoEncoderConfiguration@{agora::rtc::VideoEncoderConfiguration}!mirrorMode@{mirrorMode}}
\index{mirrorMode@{mirrorMode}!agora::rtc::VideoEncoderConfiguration@{agora::rtc::VideoEncoderConfiguration}}
\doxysubsubsection{\texorpdfstring{mirrorMode}{mirrorMode}}
{\footnotesize\ttfamily V\+I\+D\+E\+O\+\_\+\+M\+I\+R\+R\+O\+R\+\_\+\+M\+O\+D\+E\+\_\+\+T\+Y\+PE agora\+::rtc\+::\+Video\+Encoder\+Configuration\+::mirror\+Mode}

Sets the mirror mode of the published local video stream. It only affects the video that the remote user sees. See {\ttfamily V\+I\+D\+E\+O\+\_\+\+M\+I\+R\+R\+O\+R\+\_\+\+M\+O\+D\+E\+\_\+\+T\+Y\+PE}. \begin{DoxyNote}{Note}
By default, the video is not mirrored. 
\end{DoxyNote}
\mbox{\Hypertarget{structagora_1_1rtc_1_1_video_encoder_configuration_a4e712fcd4039a320d82478f289733b18}\label{structagora_1_1rtc_1_1_video_encoder_configuration_a4e712fcd4039a320d82478f289733b18}} 
\index{agora::rtc::VideoEncoderConfiguration@{agora::rtc::VideoEncoderConfiguration}!advanceOptions@{advanceOptions}}
\index{advanceOptions@{advanceOptions}!agora::rtc::VideoEncoderConfiguration@{agora::rtc::VideoEncoderConfiguration}}
\doxysubsubsection{\texorpdfstring{advanceOptions}{advanceOptions}}
{\footnotesize\ttfamily \mbox{\hyperlink{structagora_1_1rtc_1_1_advance_options}{Advance\+Options}} agora\+::rtc\+::\+Video\+Encoder\+Configuration\+::advance\+Options}

Advanced options for video encoding. See {\ttfamily \mbox{\hyperlink{structagora_1_1rtc_1_1_advance_options}{Advance\+Options}}}. 