类 | |
enum | DEGRADATION_PREFERENCE |
enum | FRAME_RATE |
enum | ORIENTATION_MODE |
class | VideoDimensions |
Public 成员函数 | |
VideoEncoderConfiguration (VideoDimensions dimensions, FRAME_RATE frameRate, int bitrate, ORIENTATION_MODE orientationMode) | |
VideoEncoderConfiguration (int width, int height, FRAME_RATE frameRate, int bitrate, ORIENTATION_MODE orientationMode) | |
Public 属性 | |
VideoDimensions | dimensions |
int | frameRate |
int | minFrameRate |
int | bitrate |
int | minBitrate |
ORIENTATION_MODE | orientationMode |
DEGRADATION_PREFERENCE | degradationPrefer |
int | mirrorMode |
VideoEncoderConfiguration 视频编码属性的定义。
int io.agora.rtc.video.VideoEncoderConfiguration.bitrate |
视频编码的码率。单位为 Kbps。你可以根据场景需要,参考下面的视频基准码率参考表,手动设置你想要的码率。若设置的视频码率超出合理范围,SDK 会自动按照合理区间处理码率。 你也可以直接选择如下任意一种模式进行设置:
Agora 在通信和直播场景下采用不同的编码方式,以提升不同场景下的用户体验。通信场景保证流畅,而直播场景则更注重画面质量,因此直播场景对码率的需求大于通信场景。所以 Agora 推荐将该参数设置为 STANDARD_BITRATE = 0。
视频码率参考表
分辨率 | 帧率(fps) | 基准码率(通信场景)(Kbps) | 直播码率(直播场景)(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 |
|
static |
适配码率模式。该模式下,视频在通信和直播场景下的码率均与基准码率一致。直播下如果选择该模式,可能会导致帧率低于设置的值
|
static |
使用系统默认最低编码码率
|
static |
使用系统默认最低编码帧率
DEGRADATION_PREFERENCE io.agora.rtc.video.VideoEncoderConfiguration.degradationPrefer |
VideoDimensions io.agora.rtc.video.VideoEncoderConfiguration.dimensions |
视频编码的分辨率 (px),用于衡量编码质量,以长 × 宽表示,默认值为 640 × 360。用户可以自行设置分辨率,也可以在如下列表中直接选择想要分辨率:
int io.agora.rtc.video.VideoEncoderConfiguration.frameRate |
视频编码的帧率(fps),默认值为 15。用户可以自行设置帧率,也可以在如下列表中直接选择想要的帧率。建议不要超过 30 帧。
int io.agora.rtc.video.VideoEncoderConfiguration.minBitrate |
最低视频编码码率。单位为 Kbps。
int io.agora.rtc.video.VideoEncoderConfiguration.minFrameRate |
最低视频编码帧率(fps)。默认值为 DEFAULT_MIN_FRAMERATE(-1),表示使用系统默认的最低编码帧率。
关于该参数的适用场景及注意事项,请参考常用功能文档《设置视频属性》。
int io.agora.rtc.video.VideoEncoderConfiguration.mirrorMode |
本地发送视频的镜像模式,只影响远端用户看到的视频画面。
ORIENTATION_MODE io.agora.rtc.video.VideoEncoderConfiguration.orientationMode |
视频编码的方向模式。
|
static |
标准码率模式。该模式下,视频在通信和直播场景下的码率有所不同:
|
static |
VD_120x120:视频分辨率为 120 × 120。
|
static |
VD_1280x720:视频分辨率为 1280 × 720。
|
static |
VD_160x120:视频分辨率为 160 × 120。
|
static |
VD_180x180:视频分辨率为 180 × 180。
|
static |
VD_1920x1080:视频分辨率为 1920 × 1080。
|
static |
VD_240x180:视频分辨率为 240 × 180。
|
static |
VD_240x240:视频分辨率为 240 × 240。
|
static |
VD_2540x1440:视频分辨率为 2540 × 1440。
|
static |
VD_320x180:视频分辨率为 320 × 180。
|
static |
VD_320x240:视频分辨率为 320 × 240。
|
static |
VD_360x360:视频分辨率为 360 × 360。
|
static |
VD_3840x2160:视频分辨率为 3840 × 2160。
|
static |
VD_424x240:视频分辨率为 424 × 240。
|
static |
VD_480x360:视频分辨率为 480 × 360。
|
static |
VD_480x480:视频分辨率为 480 × 480。
|
static |
VD_640x360:视频分辨率为 640 × 360。
|
static |
VD_640x480:视频分辨率为 640 × 480。
|
static |
VD_840x480:视频分辨率为 840 × 480
|
static |
VD_960x720:视频分辨率为 960 × 720。