Agora C++ API Reference for All Platforms
|
#include <IAgoraRtcEngine.h>
Public Member Functions | |
VideoEncoderConfiguration (const VideoDimensions &d, FRAME_RATE f, int b, ORIENTATION_MODE m, VIDEO_MIRROR_MODE_TYPE mr=VIDEO_MIRROR_MODE_AUTO) | |
VideoEncoderConfiguration (int width, int height, FRAME_RATE f, int b, ORIENTATION_MODE m, VIDEO_MIRROR_MODE_TYPE mr=VIDEO_MIRROR_MODE_AUTO) | |
VideoEncoderConfiguration () | |
Video encoder configurations.
|
inline |
|
inline |
|
inline |
VideoDimensions agora::rtc::VideoEncoderConfiguration::dimensions |
The video frame dimensions (px) used to specify the video quality and measured by the total number of pixels along a frame's width and height: VideoDimensions. The default value is 640 x 360.
FRAME_RATE agora::rtc::VideoEncoderConfiguration::frameRate |
The frame rate of the video: FRAME_RATE. The default value is 15.
Note that we do not recommend setting this to a value greater than 30.
int agora::rtc::VideoEncoderConfiguration::minFrameRate |
The minimum frame rate of the video. The default value is -1.
int agora::rtc::VideoEncoderConfiguration::bitrate |
The video encoding bitrate (Kbps).
Choose one of the following options:
COMMUNICATION
profile: the encoding bitrate equals the base bitrate.LIVE_BROADCASTING
profile: the encoding bitrate is twice the base bitrate.the COMMUNICATION
profile prioritizes smoothness, while the LIVE_BROADCASTING
profile prioritizes video quality (requiring a higher bitrate). We recommend setting the bitrate mode as STANDARD_BITRATE to address this difference.
The following table lists the recommended video encoder configurations, where the base bitrate applies to the COMMUNICATION
profile. Set your bitrate based on this table. If you set a bitrate beyond the proper range, the SDK automatically sets it to within the range.
COMMUNICATION
profile, and Live Bitrate applies to the LIVE_BROADCASTING
profile.Resolution | Frame Rate (fps) | Base Bitrate (Kbps) | Live Bitrate (Kbps) |
---|---|---|---|
160 * 120 | 15 | 65 | 130 |
120 * 120 | 15 | 50 | 100 |
320 * 180 | 15 | 140 | 280 |
180 * 180 | 15 | 100 | 200 |
240 * 180 | 15 | 120 | 240 |
320 * 240 | 15 | 200 | 400 |
240 * 240 | 15 | 140 | 280 |
424 * 240 | 15 | 220 | 440 |
640 * 360 | 15 | 400 | 800 |
360 * 360 | 15 | 260 | 520 |
640 * 360 | 30 | 600 | 1200 |
360 * 360 | 30 | 400 | 800 |
480 * 360 | 15 | 320 | 640 |
480 * 360 | 30 | 490 | 980 |
640 * 480 | 15 | 500 | 1000 |
480 * 480 | 15 | 400 | 800 |
640 * 480 | 30 | 750 | 1500 |
480 * 480 | 30 | 600 | 1200 |
848 * 480 | 15 | 610 | 1220 |
848 * 480 | 30 | 930 | 1860 |
640 * 480 | 10 | 400 | 800 |
1280 * 720 | 15 | 1130 | 2260 |
1280 * 720 | 30 | 1710 | 3420 |
960 * 720 | 15 | 910 | 1820 |
960 * 720 | 30 | 1380 | 2760 |
1920 * 1080 | 15 | 2080 | 4160 |
1920 * 1080 | 30 | 3150 | 6300 |
1920 * 1080 | 60 | 4780 | 6500 |
int agora::rtc::VideoEncoderConfiguration::minBitrate |
The minimum encoding bitrate (Kbps).
The SDK 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 hence sacrifice the smoothness of the video transmission. That said, unless you have special requirements for image quality, Agora does not recommend changing this value.
LIVE_BROADCASTING
profile. ORIENTATION_MODE agora::rtc::VideoEncoderConfiguration::orientationMode |
The video orientation mode of the video: ORIENTATION_MODE.
DEGRADATION_PREFERENCE agora::rtc::VideoEncoderConfiguration::degradationPreference |
The video encoding degradation preference under limited bandwidth: DEGRADATION_PREFERENCE.
VIDEO_MIRROR_MODE_TYPE agora::rtc::VideoEncoderConfiguration::mirrorMode |
Sets the mirror mode of the published local video stream. It only affects the video that the remote user sees. See VIDEO_MIRROR_MODE_TYPE