NERtc macOS SDK  V5.5.40
Public 属性 | 所有成员列表
nertc::NERtcScreenCaptureParameters结构体 参考

#include <nertc_engine_defines.h>

Public 属性

NERtcScreenProfileType profile
 
NERtcVideoDimensions dimensions
 
int frame_rate
 
int min_framerate
 
int bitrate
 
int min_bitrate
 
bool capture_mouse_cursor
 
bool window_focus
 
source_id_texcluded_window_list
 
int excluded_window_count
 
NERtcSubStreamContentPrefer prefer
 
NERtcDegradationPreference degradation_preference
 
bool enable_high_performance
 
bool enable_high_light
 
int high_light_width
 
unsigned int high_light_color
 
int high_light_length
 
bool exclude_highlight_box
 
bool force_update_data
 

详细描述

屏幕共享编码参数配置。用于衡量编码质量。

类成员变量说明

◆ bitrate

int nertc::NERtcScreenCaptureParameters::bitrate

共享视频的码率,单位为 kbps;默认值为 0,表示 SDK 根据当前共享屏幕的分辨率计算出一个合理的值。

◆ capture_mouse_cursor

bool nertc::NERtcScreenCaptureParameters::capture_mouse_cursor

是否采集鼠标用于屏幕共享。

◆ degradation_preference

NERtcDegradationPreference nertc::NERtcScreenCaptureParameters::degradation_preference

带宽受限时的视频编码降级偏好。详细信息请参考 NERtcDegradationPreference。

◆ dimensions

NERtcVideoDimensions nertc::NERtcScreenCaptureParameters::dimensions

屏幕共享视频发送的最大像素值,kNERtcScreenProfileCustom下生效。

◆ enable_high_light

bool nertc::NERtcScreenCaptureParameters::enable_high_light

设置是否在采集的目标窗口/显示器上显示一个高亮边框。

  • true: (默认)显示
  • false: 不显示
    自从
    V5.4.10 @Note 不支持动态修改,即一次屏幕分享开始,到屏幕分享结束的过程中,不支持改变该值

◆ enable_high_performance

bool nertc::NERtcScreenCaptureParameters::enable_high_performance

仅针对macOS生效 是否开启高性能模式(只会在分享屏幕时会生效),开启后屏幕采集性能最佳,但无法过滤远端的高亮边框,默认为 true。

  • true: (默认)启用高性能模式
  • false: 不启用高性能模式
    自从
    V5.4.10

◆ exclude_highlight_box

bool nertc::NERtcScreenCaptureParameters::exclude_highlight_box

采集显示器时,如果开启了 SDK 内置高亮框,设置采集是否排除高亮框

  • true: (默认)排除
  • false: 不排除
    自从
    V5.5.20 @Note 不支持动态修改,即一次屏幕分享开始,到屏幕分享结束的过程中,不支持改变该值

◆ excluded_window_count

int nertc::NERtcScreenCaptureParameters::excluded_window_count

待屏蔽窗口的数量。

◆ excluded_window_list

source_id_t* nertc::NERtcScreenCaptureParameters::excluded_window_list

待屏蔽窗口的 ID 列表。

◆ force_update_data

bool nertc::NERtcScreenCaptureParameters::force_update_data

SDK 高亮时,是否回调 onScreenCaptureSourceDataUpdate

  • true: SDK 高亮时,onScreenCaptureSourceDataUpdate 也回调
  • false: (默认) SDK 高亮时,不回调
    自从
    V5.5.30 @Note 不支持动态修改,即一次屏幕分享开始,到屏幕分享结束的过程中,不支持改变该值

◆ frame_rate

int nertc::NERtcScreenCaptureParameters::frame_rate

共享视频的帧率,kNERtcScreenProfileCustom下生效,单位为 fps;默认值为 5,建议不要超过 15。

◆ high_light_color

unsigned int nertc::NERtcScreenCaptureParameters::high_light_color

高亮边框的颜色,使用0xAABBGGRR格式,默认值是 0xFF7EDE00. 当alpha为 0 时,高亮是完全透明的。当alpha为 255 时,高亮边框是不透明的。

自从
V5.4.10 @Note 不支持动态修改,即一次屏幕分享开始,到屏幕分享结束的过程中,不支持改变该值

◆ high_light_length

int nertc::NERtcScreenCaptureParameters::high_light_length

高亮边框的长度,默认值是 120,单位为像素. 当设置 -1 的时候表示全包的一个高亮框;当设置一个正数的时候,表示从窗口4个角当中任何一个为原点,到相邻两边延伸的长度。并且这个长度不大于采集窗口/显示器的实际长度。

自从
V5.4.10 @Note 不支持动态修改,即一次屏幕分享开始,到屏幕分享结束的过程中,不支持改变该值

◆ high_light_width

int nertc::NERtcScreenCaptureParameters::high_light_width
自从
V5.4.10 高亮边框的宽度,以像素为单位,默认值是 6 @Note 不支持动态修改,即一次屏幕分享开始,到屏幕分享结束的过程中,不支持改变该值

◆ min_bitrate

int nertc::NERtcScreenCaptureParameters::min_bitrate

视频编码的最小码率,单位为 Kbps。您可以根据场景需要,手动设置想要的最小码率,若设置为0,SDK 将会自行计算处理。

◆ min_framerate

int nertc::NERtcScreenCaptureParameters::min_framerate

视频编码的最小帧率。默认为 0,表示使用默认最小帧率

◆ prefer

NERtcSubStreamContentPrefer nertc::NERtcScreenCaptureParameters::prefer

编码策略倾向。

◆ profile

NERtcScreenProfileType nertc::NERtcScreenCaptureParameters::profile

屏幕共享编码参数配置。

注解
  • 如果要使用自定义的尺寸(dimensions)和帧率(frame_rate),请务必设置 profile 为 kNERtcScreenProfileCustom。
  • 如果 profile 使用了 kNERtcScreenProfileCustom 之外的值,尺寸 dimensions 会设置为指定 profile 对应的大小,帧率 frame_rate 都将会置为 5 fps。

◆ window_focus

bool nertc::NERtcScreenCaptureParameters::window_focus

调用 startScreenCaptureByWindowId 方法共享窗口时,是否将该窗口前置。


该结构体的文档由以下文件生成: