AgoraVideoEncoderConfiguration
视频编码器的配置。
Objective-C
__attribute__((visibility("default"))) @interface AgoraVideoEncoderConfiguration : NSObject
@property(assign, nonatomic) CGSize dimensions;
@property(assign, nonatomic) AgoraVideoCodecType codecType;
@property(assign, nonatomic) AgoraVideoFrameRate frameRate;
@property(assign, nonatomic) NSInteger bitrate;
@property(assign, nonatomic) NSInteger minBitrate;
@property(assign, nonatomic) AgoraVideoOutputOrientationMode orientationMode;
@property(assign, nonatomic) AgoraVideoMirrorMode mirrorMode;
@property (assign, nonatomic) AgoraDegradationPreference degradationPreference;
- (instancetype _Nonnull)initWithSize:(CGSize)size
frameRate:(AgoraVideoFrameRate)frameRate
bitrate:(NSInteger)bitrate
orientationMode:(AgoraVideoOutputOrientationMode)orientationMode
mirrorMode:(AgoraVideoMirrorMode)mirrorMode;
- (instancetype _Nonnull)initWithWidth:(NSInteger)width
height:(NSInteger)height
frameRate:(AgoraVideoFrameRate)frameRate
bitrate:(NSInteger)bitrate
orientationMode:(AgoraVideoOutputOrientationMode)orientationMode
mirrorMode:(AgoraVideoMirrorMode)mirrorMode;
@end
dimensions
用户可以自行设置分辨率,也可以在如下列表中直接选择想要的分辨率:
- AgoraVideoDimension120x120:视频分辨率为 120 × 120。
- AgoraVideoDimension160x120:视频分辨率为 160 × 120。
- AgoraVideoDimension180x180:视频分辨率为 180 × 180。
- AgoraVideoDimension240x180:视频分辨率为 240 × 180。
- AgoraVideoDimension320x180:视频分辨率为 320 × 180。
- AgoraVideoDimension240x240:视频分辨率为 240 × 240。
- AgoraVideoDimension320x240:视频分辨率为 320 × 240。
- AgoraVideoDimension424x240:视频分辨率为 424 × 240。
- AgoraVideoDimension360x360:视频分辨率为 360 × 360。
- AgoraVideoDimension480x360:视频分辨率为 480 × 360。
- AgoraVideoDimension640x360:视频分辨率为 640 × 360。
- AgoraVideoDimension480x480:视频分辨率为 480 × 480。
- AgoraVideoDimension640x480:视频分辨率为 640 × 480。
- AgoraVideoDimension840x480:视频分辨率为 840 × 480。
- AgoraVideoDimension960x540:视频分辨率为 960 × 540。
- AgoraVideoDimension960x720:视频分辨率为 960 × 720。
- AgoraVideoDimension1280x720:视频分辨率为 1280 × 720。
- AgoraVideoDimension1920x1080:视频分辨率为 1920 × 1080。
- AgoraVideoDimension2540x1440:视频分辨率为 2540 × 1440。
- AgoraVideoDimension3840x2160:视频分辨率为 3840 × 2160。
- 视频能否达到 720P 及以上分辨率取决于设备的性能,在性能配备较低的设备上有可能无法实现。如果采用 720P 分辨率而设备性能跟不上,则有可能出现帧率过低的情况。
- 默认值为 960 × 540。
codecType
视频编码类型,详见 AgoraVideoCodecType
。
frameRate
视频编码的帧率(fps),默认值为 15。详见 AgoraVideoFrameRate
。
bitrate
视频编码码率,单位为 Kbps。
STANDARD_BITRATE
(0): (推荐) 标准码率模式。该模式下,直播场景的视频码率高于通信场景的基准码率。详见视频属性
。COMPATIBLE_BITRATE
(-1): 适配码率模式。该模式下,直播场景的码率与通信场景的码率一致。如果选择该模式,直播场景的帧率可能会低于设置的值。
minBitrate
最低编码码率,单位为 Kbps。
SDK 会根据网络状况自动调整视频编码码率。将参数设为高于默认值可强制视频编码器输出高质量图片,但在网络状况不佳情况下可能导致网络丢包并影响视频播放的流畅度造成卡顿。因此如非对画质有特殊需求,声网建议不要修改该参数的值。
注意: 该参数仅适用于直播场景。
orientationMode
视频编码的方向模式,详见 AgoraVideoOutputOrientationMode
。
degradationPreference
带宽受限时,视频编码降级偏好。详见 AgoraDegradationPreference
。
mirrorMode
发送编码视频时是否开启镜像模式,只影响远端用户看到的视频画面。详见 AgoraVideoMirrorMode
。
注意: 默认关闭镜像模式。
advanceOptions
视频编码的高级选项。详见 AgoraAdvancedVideoOptions
。