VideoEncoderConfiguration
视频编码器的配置。
C++
struct VideoEncoderConfiguration {
VIDEO_CODEC_TYPE codecType;
VideoDimensions dimensions;
int frameRate;
int bitrate;
int minBitrate;
ORIENTATION_MODE orientationMode;
DEGRADATION_PREFERENCE degradationPreference;
VIDEO_MIRROR_MODE_TYPE mirrorMode;
AdvanceOptions advanceOptions;
VideoEncoderConfiguration(const VideoDimensions& d, int f, int b, ORIENTATION_MODE m, VIDEO_MIRROR_MODE_TYPE mirror = VIDEO_MIRROR_MODE_DISABLED)
: codecType(VIDEO_CODEC_H264),
dimensions(d),
frameRate(f),
bitrate(b),
minBitrate(DEFAULT_MIN_BITRATE),
orientationMode(m),
degradationPreference(MAINTAIN_QUALITY),
mirrorMode(mirror),
advanceOptions(PREFER_AUTO) {}
VideoEncoderConfiguration(int width, int height, int f, int b, ORIENTATION_MODE m, VIDEO_MIRROR_MODE_TYPE mirror = VIDEO_MIRROR_MODE_DISABLED)
: codecType(VIDEO_CODEC_H264),
dimensions(width, height),
frameRate(f),
bitrate(b),
minBitrate(DEFAULT_MIN_BITRATE),
orientationMode(m),
degradationPreference(MAINTAIN_QUALITY),
mirrorMode(mirror),
advanceOptions(PREFER_AUTO) {}
VideoEncoderConfiguration(const VideoEncoderConfiguration& config)
: codecType(config.codecType),
dimensions(config.dimensions),
frameRate(config.frameRate),
bitrate(config.bitrate),
minBitrate(config.minBitrate),
orientationMode(config.orientationMode),
degradationPreference(config.degradationPreference),
mirrorMode(config.mirrorMode),
advanceOptions(config.advanceOptions) {}
VideoEncoderConfiguration()
: codecType(VIDEO_CODEC_H264),
dimensions(FRAME_WIDTH_640, FRAME_HEIGHT_360),
frameRate(FRAME_RATE_FPS_15),
bitrate(STANDARD_BITRATE),
minBitrate(DEFAULT_MIN_BITRATE),
orientationMode(ORIENTATION_MODE_ADAPTIVE),
degradationPreference(MAINTAIN_QUALITY),
mirrorMode(VIDEO_MIRROR_MODE_DISABLED),
advanceOptions(PREFER_AUTO) {}
};
dimensions
视频编码的分辨率(px),详见 VideoDimensions
。该参数用于衡量编码质量,以长 × 宽表示,默认值为 960 × 540。用户可以自行设置分辨率。
codecType
视频编码类型,详见 VIDEO_CODEC_TYPE
。
frameRate
视频编码的帧率(fps),默认值为 15。详见 FRAME_RATE
。
bitrate
视频编码码率,单位为 Kbps。
STANDARD_BITRATE
(0): (推荐) 标准码率模式。该模式下,直播场景的视频码率高于通信场景的基准码率。详见视频属性
。COMPATIBLE_BITRATE
(-1): 适配码率模式。该模式下,直播场景的码率与通信场景的码率一致。如果选择该模式,直播场景的帧率可能会低于设置的值。
minBitrate
最低编码码率,单位为 Kbps。
SDK 会根据网络状况自动调整视频编码码率。将参数设为高于默认值可强制视频编码器输出高质量图片,但在网络状况不佳情况下可能导致网络丢包并影响视频播放的流畅度造成卡顿。因此如非对画质有特殊需求,声网建议不要修改该参数的值。
注意: 该参数仅适用于直播场景。
orientationMode
视频编码的方向模式,详见 ORIENTATION_MODE
。
degradationPreference
带宽受限时,视频编码降级偏好。详见 DEGRADATION_PREFERENCE
。
mirrorMode
发送编码视频时是否开启镜像模式,只影响远端用户看到的视频画面。详见 VIDEO_MIRROR_MODE_TYPE
。
注意: 默认关闭镜像模式。
advanceOptions
视频编码的高级选项。详见 AdvanceOptions
。