AgoraScreenVideoParameters
共享屏幕流的视频编码配置。
Objective-C
__attribute__((visibility("default"))) @interface AgoraScreenVideoParameters : NSObject
@property(assign, nonatomic) CGSize dimensions;
@property(assign, nonatomic) AgoraVideoFrameRate frameRate;
@property(assign, nonatomic) NSInteger bitrate;
@property(assign, nonatomic) AgoraVideoContentHint contentHint;
@end
dimensions
视频编码的分辨率。默认值为 1280 × 720。
如果 dimensions 宽高比与屏幕像素值的宽高比不一致,SDK 会按照如下规则调节视频编码分辨率,以 dimensions 是 1280 × 720 为例:
- 当屏幕宽和高的像素值均小于 dimensions 时,例如屏幕像素值为 640 × 360,SDK 以 640 × 360 编码。
- 当屏幕宽或高的像素值大于 dimensions 时,例如屏幕像素值为 2000 × 1500,SDK 以屏幕像素值的宽高比,即 4:3,取 dimensions 内最大分辨率进行编码,即 960 × 720。
信息
- 屏幕共享流的计费以 dimensions 的值为准:当你未传值时,以 1280 × 720 计费;当你传值时,以你传入的值计费。
- 该值不代表最终视频输出的方向。详见 AgoraVideoOutputOrientationMode 了解设置视频方向。
- 视频能否达到 720P 的分辨率取决于设备的性能,在性能配备较低的设备上有可能无法实现。如果采用 720P 分辨率而设备性能跟不上,则有可能出现帧率过低的情况。
信息
在共享文档的场景(AgoraScreenScenarioDocument)下设置编码分辨率时,选择以下两种方式其中之一。
- 如果你需要最优的画质,建议将编码分辨率设置为与采集分辨率相同。
- 如果你希望在画质、带宽和系统性能之间达到相对平衡,则:
- 当采集分辨率大于 1920 × 1080 时,建议编码分辨率不低于 1920 × 1080。
- 当采集分辨率低于 1920 × 1080 时,建议编码分辨率不低于 1280 × 720。
frameRate
视频编码帧率 (fps)。默认值为 15。
bitrate
视频编码码率 (Kbps)。
contentHint
屏幕共享视频的内容类型。详见 AgoraVideoContentHint。