VideoEncoderConfiguration

最近更新时间:2022-09-20 05:17:40

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 属性
VideoDimensionsdimensions
FRAME_RATEframeRate
intminFrameRate
intbitrate
intminBitrate
ORIENTATION_MODEorientationMode
DEGRADATION_PREFERENCEdegradationPreference
VIDEO_MIRROR_MODE_TYPEmirrorMode

详细描述

视频编码器配置的属性。

构造及析构函数说明

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 × 1201565130
120 × 1201550100
320 × 18015140280
180 × 18015100200
240 × 18015120240
320 × 24015200400
240 × 24015140280
424 × 24015220440
640 × 36015400800
360 × 36015260520
640 × 360306001200
360 × 36030400800
480 × 36015320640
480 × 36030490980
640 × 480155001000
480 × 48015400800
640 × 480307501500
480 × 480306001200
848 × 480156101220
848 × 480309301860
640 × 48010400800
1280 × 7201511302260
1280 × 7203017103420
960 × 720159101820
960 × 7203013802760
1920 × 10801520804160
1920 × 10803031506300
1920 × 10806047806500
2560 × 14403048506500
2560 × 14406065006500
3840 × 21603065006500
3840 × 21606065006500

注意事项:

  • 该表中的基准码率适用于通信场景。直播场景下通常需要较大码率来提升视频质量。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

注意事项:

  • 默认关闭镜像模式。