VideoEncoderConfiguration

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

enumDEGRADATION_PREFERENCE
enumFRAME_RATE
enumORIENTATION_MODE
classVideoDimensions
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 属性
VideoDimensionsdimensions
intframeRate
intminFrameRate
intbitrate
intminBitrate
ORIENTATION_MODEorientationMode
DEGRADATION_PREFERENCEdegradationPrefer
intmirrorMode
静态 Public 属性
static final VideoDimensionsVD_120x120 = new VideoDimensions(120, 120)
static final VideoDimensionsVD_160x120 = new VideoDimensions(160, 120)
static final VideoDimensionsVD_180x180 = new VideoDimensions(180, 180)
static final VideoDimensionsVD_240x180 = new VideoDimensions(240, 180)
static final VideoDimensionsVD_320x180 = new VideoDimensions(320, 180)
static final VideoDimensionsVD_240x240 = new VideoDimensions(240, 240)
static final VideoDimensionsVD_320x240 = new VideoDimensions(320, 240)
static final VideoDimensionsVD_424x240 = new VideoDimensions(424, 240)
static final VideoDimensionsVD_360x360 = new VideoDimensions(360, 360)
static final VideoDimensionsVD_480x360 = new VideoDimensions(480, 360)
static final VideoDimensionsVD_640x360 = new VideoDimensions(640, 360)
static final VideoDimensionsVD_480x480 = new VideoDimensions(480, 480)
static final VideoDimensionsVD_640x480 = new VideoDimensions(640, 480)
static final VideoDimensionsVD_840x480 = new VideoDimensions(840, 480)
static final VideoDimensionsVD_960x720 = new VideoDimensions(960, 720)
static final VideoDimensionsVD_1280x720 = new VideoDimensions(1280, 720)
static final VideoDimensionsVD_1920x1080 = new VideoDimensions(1920, 1080)
static final VideoDimensionsVD_2540x1440 = new VideoDimensions(2540, 1440)
static final VideoDimensionsVD_3840x2160 = new VideoDimensions(3840, 2160)
static final intSTANDARD_BITRATE = 0
static final intCOMPATIBLE_BITRATE = -1
static final intDEFAULT_MIN_BITRATE = -1
static final intDEFAULT_MIN_FRAMERATE = -1

详细描述

VideoEncoderConfiguration 视频编码属性的定义。

类成员变量说明

VD_120x120

static final VideoDimensions VideoEncoderConfiguration.VD_120x120 = new VideoDimensions(120, 120)

VD_120x120:视频分辨率为 120 × 120。

VD_160x120

static final VideoDimensions VideoEncoderConfiguration.VD_160x120 = new VideoDimensions(160, 120)

VD_160x120:视频分辨率为 160 × 120。

VD_180x180

static final VideoDimensions VideoEncoderConfiguration.VD_180x180 = new VideoDimensions(180, 180)

VD_180x180:视频分辨率为 180 × 180。

VD_240x180

static final VideoDimensions VideoEncoderConfiguration.VD_240x180 = new VideoDimensions(240, 180)

VD_240x180:视频分辨率为 240 × 180。

VD_320x180

static final VideoDimensions VideoEncoderConfiguration.VD_320x180 = new VideoDimensions(320, 180)

VD_320x180:视频分辨率为 320 × 180。

VD_240x240

static final VideoDimensions VideoEncoderConfiguration.VD_240x240 = new VideoDimensions(240, 240)

VD_240x240:视频分辨率为 240 × 240。

VD_320x240

static final VideoDimensions VideoEncoderConfiguration.VD_320x240 = new VideoDimensions(320, 240)

VD_320x240:视频分辨率为 320 × 240。

VD_424x240

static final VideoDimensions VideoEncoderConfiguration.VD_424x240 = new VideoDimensions(424, 240)

VD_424x240:视频分辨率为 424 × 240。

VD_360x360

static final VideoDimensions VideoEncoderConfiguration.VD_360x360 = new VideoDimensions(360, 360)

VD_360x360:视频分辨率为 360 × 360。

VD_480x360

static final VideoDimensions VideoEncoderConfiguration.VD_480x360 = new VideoDimensions(480, 360)

VD_480x360:视频分辨率为 480 × 360。

VD_640x360

static final VideoDimensions VideoEncoderConfiguration.VD_640x360 = new VideoDimensions(640, 360)

VD_640x360:视频分辨率为 640 × 360。

VD_480x480

static final VideoDimensions VideoEncoderConfiguration.VD_480x480 = new VideoDimensions(480, 480)

VD_480x480:视频分辨率为 480 × 480。

VD_640x480

static final VideoDimensions VideoEncoderConfiguration.VD_640x480 = new VideoDimensions(640, 480)

VD_640x480:视频分辨率为 640 × 480。

VD_840x480

static final VideoDimensions VideoEncoderConfiguration.VD_840x480 = new VideoDimensions(840, 480)

VD_840x480:视频分辨率为 840 × 480

VD_960x720

static final VideoDimensions VideoEncoderConfiguration.VD_960x720 = new VideoDimensions(960, 720)

VD_960x720:视频分辨率为 960 × 720。

VD_1280x720

static final VideoDimensions VideoEncoderConfiguration.VD_1280x720 = new VideoDimensions(1280, 720)

VD_1280x720:视频分辨率为 1280 × 720。

VD_1920x1080

static final VideoDimensions VideoEncoderConfiguration.VD_1920x1080 = new VideoDimensions(1920, 1080)

VD_1920x1080:视频分辨率为 1920 × 1080。

VD_2540x1440

static final VideoDimensions VideoEncoderConfiguration.VD_2540x1440 = new VideoDimensions(2540, 1440)

VD_2540x1440:视频分辨率为 2540 × 1440。

VD_3840x2160

static final VideoDimensions VideoEncoderConfiguration.VD_3840x2160 = new VideoDimensions(3840, 2160)

VD_3840x2160:视频分辨率为 3840 × 2160。

STANDARD_BITRATE

static final int VideoEncoderConfiguration.STANDARD_BITRATE = 0

标准码率模式。该模式下,视频在通信和直播场景下的码率有所不同:

  • 通信场景下,码率与基准码率一致
  • 直播场景下,码率对照基准码率翻倍

COMPATIBLE_BITRATE

static final int VideoEncoderConfiguration.COMPATIBLE_BITRATE = -1

适配码率模式。该模式下,视频在通信和直播场景下的码率均与基准码率一致。直播下如果选择该模式,可能会导致帧率低于设置的值

DEFAULT_MIN_BITRATE

static final int VideoEncoderConfiguration.DEFAULT_MIN_BITRATE = -1

使用系统默认最低编码码率

DEFAULT_MIN_FRAMERATE

static final int VideoEncoderConfiguration.DEFAULT_MIN_FRAMERATE = -1
final int VideoEncoderConfiguration.DEFAULT_MIN_FRAMERATE = -1static

使用系统默认最低编码帧率

dimensions

VideoDimensions VideoEncoderConfiguration.dimensions

视频编码的分辨率 (px),用于衡量编码质量,以长 × 宽表示,默认值为 640 × 360。用户可以自行设置分辨率,也可以在如下列表中直接选择想要分辨率:

注解

该值不代表最终视频输出的方向。请查阅 ORIENTATION_MODE 了解设置视频方向。视频能否达到 720P 的分辨率取决于设备的性能,在性能配备较低的设备上有可能无法实现。如果采用 720P 分辨率而设备性能跟不上,则有可能出现帧率过低的情况。

frameRate

int VideoEncoderConfiguration.frameRate

视频编码的帧率(fps),默认值为 15。用户可以自行设置帧率,也可以在如下列表中直接选择想要的帧率。建议不要超过 30 帧。

minFrameRate

int VideoEncoderConfiguration.minFrameRate

最低视频编码帧率(fps)。默认值为 DEFAULT_MIN_FRAMERATE(-1),表示使用系统默认的最低编码帧率。

自从

v4.0.0。

关于该参数的适用场景及注意事项,请参考常用功能文档《设置视频属性》。

bitrate

int VideoEncoderConfiguration.bitrate

视频编码的码率。单位为 Kbps。你可以根据场景需要,参考下面的视频基准码率参考表,手动设置你想要的码率。若设置的视频码率超出合理范围,SDK 会自动按照合理区间处理码率。 你也可以直接选择如下任意一种模式进行设置:

  • STANDARD_BITRATE = 0:(推荐)标准码率模式。该模式下,视频在通信和直播场景下的码率有所不同:
  • 通信场景下,码率与基准码率一致
    • 直播场景下,码率对照基准码率翻倍
  • COMPATIBLE_BITRATE = -1:适配码率模式。该模式下,视频在通信和直播场景下的码率均与基准码率一致。直播下如果选择该模式,视频帧率可能会低于设置的值

AR 在通信和直播场景下采用不同的编码方式,以提升不同场景下的用户体验。通信场景保证流畅,而直播场景则更注重画面质量,因此直播场景对码率的需求大于通信场景。所以 AR 推荐将该参数设置为 STANDARD_BITRATE = 0。

视频码率参考表

分辨率帧率(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
  • 注解

    该表中的基准码率适用于通信场景。直播场景下通常需要较大码率来提升视频质量。AR 推荐通过设置 STANDARD_BITRATE = 0来实现。你也可以直接将码率值设为基准码率值 x 2。

minBitrate

int VideoEncoderConfiguration.minBitrate

最低视频编码码率。单位为 Kbps。

  • 自从

    v2.3.2。 AR SDK 会根据网络条件进行码率自适应。 该参数强制视频编码器输出高质量图片。如果将参数设为高于默认值,在网络状况不佳情况下可能会导致网络丢包,并影响视频播放的流畅度。因此如非对画质有特殊需求,AR 建议不要修改该参数的值。

  • 注解

    该参数仅适用于直播场景。

orientationMode

ORIENTATION_MODE VideoEncoderConfiguration.orientationMode

视频编码的方向模式。

详见 ORIENTATION_MODE

degradationPrefer

DEGRADATION_PREFERENCE VideoEncoderConfiguration.degradationPrefer

带宽受限时,视频编码降级偏好

自从

v4.0.0。

具体的视频编码降级偏好请参考 DEGRADATION_PREFERENCE

mirrorMode

int VideoEncoderConfiguration.mirrorMode

本地发送视频的镜像模式,只影响远端用户看到的视频画面。

  • VIDEO_MIRROR_AUTO(0):(默认)由 SDK 决定镜像模式。SDK 默认关闭视频编码的镜像模式。
  • VIDEO_MIRROR_MODE_ENABLED(1):开启镜像模式。
  • VIDEO_MIRROR_MODE_DISABLED(2):关闭镜像模式。