Public 成员函数 | |
---|---|
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 () |
Public 属性 | |
---|---|
VideoDimensions | dimensions |
FRAME_RATE | frameRate |
int | minFrameRate |
int | bitrate |
int | minBitrate |
ORIENTATION_MODE | orientationMode |
DEGRADATION_PREFERENCE | degradationPreference |
VIDEO_MIRROR_MODE_TYPE | mirrorMode |
详细描述
视频编码器配置的属性。
构造及析构函数说明
VideoEncoderConfiguration1
VideoEncoderConfiguration(
const VideoDimensions& d, FRAME_RATE f,
int b, ORIENTATION_MODE m, VIDEO_MIRROR_MODE_TYPE mr = VIDEO_MIRROR_MODE_AUTO)
VideoEncoderConfiguration2
VideoEncoderConfiguration(
int width, int height, FRAME_RATE f,
int b, ORIENTATION_MODE m, VIDEO_MIRROR_MODE_TYPE mr = VIDEO_MIRROR_MODE_AUTO)
VideoEncoderConfiguration3
VideoEncoderConfiguration()
类成员变量说明
dimensions
VideoDimensions dimensions;
视频编码的分辨率 (px)。
视频编码的像素,用于衡量编码质量,以长 × 宽表示,默认值为 640 x 480。用户可以自行设置分辨率: VideoDimensions 。
frameRate
FRAME_RATE frameRate;
FRAME_RATE 。默认值为 15。
视频编码的帧率:minFrameRate
int minFrameRate;
视频的最小帧率。默认值为 -1。
bitrate
int bitrate;
视频编码码率,单位为 Kbps:
你可以根据场景需要参照下表手动设置你想要的码率。若设置的视频码率超出合理范围,SDK 会自动按照合理区间处理码率。你也可以直接选择如下任意一种模式进行设置:
- STANDARD_BITRATE : (推荐) 标准码率模式。该模式下,视频在通信和直播场景下的码率有所不同:通信场景下,码率与基准码率一致;直播场景下,码率对照基准码率翻倍。
- COMPATIBLE_BITRATE : 适配码率模式。该模式下,视频在通信和直播场景下的码率均与基准码率一致。直播下如果选择该模式,视频帧率可能会低于设置的值。
AR 在通信和直播场景下采用不同的编码方式,以提升不同场景下的用户体验。通信场景保证流畅,而直播场景则更注重画面质量,因此直播场景对码率的需求大于通信场景。所以anyRTC推荐将该参数设置为 STANDARD_BITRATE 。
分辨率 | 帧率(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 |
1920 × 1080 | 15 | 2080 | 4160 |
1920 × 1080 | 30 | 3150 | 6300 |
1920 × 1080 | 60 | 4780 | 6500 |
2560 × 1440 | 30 | 4850 | 6500 |
2560 × 1440 | 60 | 6500 | 6500 |
3840 × 2160 | 30 | 6500 | 6500 |
3840 × 2160 | 60 | 6500 | 6500 |
注意事项:
- 该表中的基准码率适用于通信场景。直播场景下通常需要较大码率来提升视频质量。AR推荐通过设置 STANDARD_BITRATE 模式来实现。你也可以直接将码率值设为基准码率值 × 2。
minBitrate
int minBitrate;
最低编码码率,单位为 Kbps
SDK 会根据网络状况自动调整视频编码码率。将参数设为高于默认值可强制视频编码器输出高质量图片,但在网络状况不佳情况下可能导致网络丢包并影响视频播放的流畅度造成卡顿。因此如非对画质有特殊需求,anyRTC建议不要修改该参数的值。
注意事项:
- 该参数仅适用于直播场景。
orientationMode
ORIENTATION_MODE orientationMode
ORIENTATION_MODE 。
视频编码的方向模式:degradationPreference
DEGRADATION_PREFERENCE degradationPreference
DEGRADATION_PREFERENCE 。
带宽受限时,视频编码降级偏好:mirrorMode
VIDEO_MIRROR_MODE_TYPE mirrorMode
VIDEO_MIRROR_MODE_TYPE
设置本地发送视频的镜像模式,只影响远端用户看到的视频画面。详见注意事项:
- 默认关闭镜像模式。