AgoraScreenCaptureParameters Class Reference
Inherits from | NSObject |
---|---|
Declared in | AgoraObjects.h |
Overview
设置屏幕共享编码配置的类
共享游戏画面时,声网推荐你根据下表设置 AgoraScreenCaptureParameters
中的 dimensions
、frameRate
、bitrate
。
分辨率 | 帧率(fps) | 码率(Kbps) |
---|---|---|
160 × 120 | 15 | 130 |
120 × 120 | 15 | 100 |
320 × 180 | 15 | 280 |
180 × 180 | 15 | 200 |
240 × 180 | 15 | 240 |
320 × 240 | 15 | 400 |
240 × 240 | 15 | 280 |
424 × 240 | 15 | 440 |
640 × 360 | 15 | 800 |
360 × 360 | 15 | 520 |
640 × 360 | 30 | 1200 |
360 × 360 | 30 | 800 |
480 × 360 | 15 | 640 |
480 × 360 | 30 | 980 |
640 × 480 | 15 | 1000 |
480 × 480 | 15 | 800 |
640 × 480 | 30 | 1500 |
480 × 480 | 30 | 1200 |
848 × 480 | 15 | 1220 |
848 × 480 | 30 | 1860 |
640 × 480 | 10 | 800 |
1280 × 720 | 15 | 2260 |
1280 × 720 | 30 | 3420 |
960 × 720 | 15 | 1820 |
960 × 720 | 30 | 2760 |
1920 × 1080 | 15 | 4160 |
1920 × 1080 | 30 | 6300 |
1920 × 1080 | 60 | 6500 |
Note: 共享的屏幕流的视频属性只需通过 AgoraScreenCaptureParameters
设置,与 setVideoEncoderConfiguration 无关。
dimensions
共享的屏幕流的视频编码分辨率
@property (assign, nonatomic) CGSize dimensions
Discussion
默认值为 1920 * 1080,即 2073600 像素。该像素值为计费标准。
当共享的屏幕分辨率宽高比与该值设置不一致时,SDK 按如下策略进行编码。假设 dimensions 为 1920 * 1080:
- 如果屏幕分辨率小于 dimensions,如 1000 * 1000,SDK 直接按 1000 * 1000 进行编码。
- 如果屏幕分辨率大于 dimensions,如 2000 * 1500,SDK 按屏幕分辨率的宽高比,即 4:3,取 dimensions 以内的最大分辨率进行编码,即 1440 * 1080。
无论实际编码分辨率如何,均按 dimensions 设置的值计费。
Declared In
AgoraObjects.h
frameRate
共享的屏幕流的视频编码帧率,单位为 fps;默认值为 5,建议不要超过 15。
@property (assign, nonatomic) NSInteger frameRate
Declared In
AgoraObjects.h
bitrate
共享的屏幕流的视频编码码率,单位为 Kbps;默认值为 0,表示由 SDK 根据当前共享的分辨率计算出一个合理的值。
@property (assign, nonatomic) NSInteger bitrate
Declared In
AgoraObjects.h
captureMouseCursor
是否采集鼠标用于屏幕共享
@property (assign, nonatomic) BOOL captureMouseCursor
Discussion
- YES:(默认)采集鼠标
- NO:不采集鼠标
Declared In
AgoraObjects.h
windowFocus
调用 startScreenCaptureByWindowId 方法共享窗口时,是否将该窗口前置。
@property (assign, nonatomic) BOOL windowFocus
Availability
v3.1.0
Discussion
- YES: 前置窗口。
- NO: (默认)不前置窗口。
Note: 因系统限制,windowFocus
仅支持将应用的主窗口前置。
Declared In
AgoraObjects.h
excludeWindowList
待屏蔽窗口的 ID 列表。
@property (copy, nonatomic) NSArray *excludeWindowList
Availability
v3.1.0
Discussion
调用 startScreenCaptureByDisplayId 开启主屏幕共享
(即屏幕 ID 为 0
)时,你可以通过该参数屏蔽指定的窗口。开启主屏幕共享后,你可以在调用 updateScreenCaptureParameters
更新屏幕共享的配置参数时,通过该参数动态屏蔽指定的窗口。
Declared In
AgoraObjects.h
highLighted
(仅适用于 macOS)是否对共享的窗口或屏幕进行描边:
@property (assign, nonatomic) BOOL highLighted
Availability
v3.7.0
Discussion
- YES: 描边。
- NO: (默认)不描边。
Note: 当你共享窗口或屏幕的部分区域时,如果设置描边,SDK 会对整个窗口或屏幕进行描边。
Declared In
AgoraObjects.h
highLightColor
(仅适用于 macOS)描边的 ARGB 颜色。默认值为 0xFF8CBF26。
@property (strong, nonatomic) COLOR_CLASS *highLightColor
Availability
v3.7.0
Discussion
在 macOS 平台上,COLOR_CLASS
指 NSColor
。
Declared In
AgoraObjects.h
highLightWidth
(仅适用于 macOS)描边的宽度 (px)。默认值为 0,取值范围为 [0,50]。
@property (assign, nonatomic) NSUInteger highLightWidth
Availability
v3.7.0
Declared In
AgoraObjects.h