VideoEncoderConfiguration
- Unreal 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_NONE),
dimensions(d),
frameRate(f),
bitrate(b),
minBitrate(DEFAULT_MIN_BITRATE),
orientationMode(m),
degradationPreference(MAINTAIN_AUTO),
mirrorMode(mirror),
advanceOptions(PREFER_AUTO, PREFER_COMPRESSION_AUTO, false) {}
VideoEncoderConfiguration(int width, int height, int f, int b, ORIENTATION_MODE m, VIDEO_MIRROR_MODE_TYPE mirror = VIDEO_MIRROR_MODE_DISABLED)
: codecType(VIDEO_CODEC_NONE),
dimensions(width, height),
frameRate(f),
bitrate(b),
minBitrate(DEFAULT_MIN_BITRATE),
orientationMode(m),
degradationPreference(MAINTAIN_AUTO),
mirrorMode(mirror),
advanceOptions(PREFER_AUTO, PREFER_COMPRESSION_AUTO, false) {}
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_NONE),
dimensions(FRAME_WIDTH_960, FRAME_HEIGHT_540),
frameRate(FRAME_RATE_FPS_15),
bitrate(STANDARD_BITRATE),
minBitrate(DEFAULT_MIN_BITRATE),
orientationMode(ORIENTATION_MODE_ADAPTIVE),
degradationPreference(MAINTAIN_AUTO),
mirrorMode(VIDEO_MIRROR_MODE_DISABLED),
advanceOptions(PREFER_AUTO, PREFER_COMPRESSION_AUTO, false) {}
VideoEncoderConfiguration& operator=(const VideoEncoderConfiguration& rhs) {
if (this == &rhs) return *this;
codecType = rhs.codecType;
dimensions = rhs.dimensions;
frameRate = rhs.frameRate;
bitrate = rhs.bitrate;
minBitrate = rhs.minBitrate;
orientationMode = rhs.orientationMode;
degradationPreference = rhs.degradationPreference;
mirrorMode = rhs.mirrorMode;
advanceOptions = rhs.advanceOptions;
return *this;
}
};属性
| 参数名 | 描述 |
|---|---|
dimensions | 视频编码的分辨率 (px),详见 VideoDimensions。该参数用于衡量编码质量,以长 × 宽表示,默认值为 960 × 540。用户可以自行设置分辨率。 |
codecType | 视频编码类型,详见 VIDEO_CODEC_TYPE。 |
frameRate | 视频编码的帧率(fps),默认值为 15。详见 FRAME_RATE。 |
bitrate | 视频编码码率,单位为 Kbps。该参数无需设置,保留默认值 STANDARD_BITRATE 即可,SDK 会根据你设定的视频分辨率和帧率自动匹配最合适的码率。有关视频分辨率和帧率的对应关系,详见视频属性。
|
minBitrate | |
orientationMode | 视频编码的方向模式,详见 ORIENTATION_MODE。 |
degradationPreference | 带宽受限时,视频编码降级偏好。详见 DEGRADATION_PREFERENCE。 注意: 当该参数设置为 MAINTAIN_FRAMERATE (1) 或者 MAINTAIN_BALANCED (2) 时,需要同时将 orientationMode 设置为 ORIENTATION_MODE_ADAPTIVE (0),否则设置不生效。 |
mirrorMode | 发送编码视频时是否开启镜像模式,只影响远端用户看到的视频画面。详见 VIDEO_MIRROR_MODE_TYPE。 注意: 该参数不生效。如需实现镜像显示效果,请在 Unreal Engine 中进行镜像设置。 注意: 默认关闭镜像模式。 |
advanceOptions | 视频编码的高级选项。详见 AdvanceOptions。 |