ZEGO Express SDK 提供多种视频前处理增强能力,开发者可以根据业务需要,在推流端对画面的效果进行调整。
本功能不支持在 WebGL 环境中运行使用。
功能 | 功能描述 | 功能优势 | 效果展示 | |
---|---|---|---|---|
低照度增强 |
在环境光较暗的情况下,摄像头采集到的画面亮度不满足看清人脸、或无法进行人脸识别等业务需求时,对画面亮度进行增强。 |
|
||
色彩增强 |
由于摄像头的特性,采集到的视频可能存在饱和度不足的问题。使用色彩增强功能,在保护人物肤色的情况下,增强欠饱和的色彩,让画面色彩更逼真,更符合人的视觉感受。 |
|
在使用推流视频增强功能前,请确保:
初始化和登录房间的具体流程,请参考实现视频通话文档中的 “创建引擎” 及 “登录房间”。
请根据需要,选择对应的功能进行配置。
ZEGO 提供两种低照度增强的方式:
方式 | 描述 |
---|---|
开启自适应帧率进行增强 |
在设定的帧率范围内动态降低采集帧率,以延长每一帧的画面曝光时间,达到增强采集到的画面亮度的效果。
例如:开发者开启并设置自适应帧率范围为 [10, 25]。环境光照充足的时候,采集帧率依然是 25 帧,环境光照度较低的时候,采集帧率会在 [10, 25] 之间动态调整,以延长每一帧的曝光时间增强采集画面的亮度。 |
算法对采集到的画面亮度进行增强 |
|
两种处理方式可以独立使用,也可以同时使用,均兼容美颜功能。
RTC SDK 支持不同的算法低照度增强模式,调用 SetLowlightEnhancement 接口进行设置低照度增强模式 ZegoLowlightEnhancementMode:
枚举值 | 说明 |
---|---|
ZegoLowlightEnhancementMode.Off | 关闭低照度增强功能,采集画面亮度不变。 |
ZegoLowlightEnhancementMode.On | 开启低照度增强功能,采集画面亮度增强。 |
ZegoLowlightEnhancementMode.Auto | 自动低照度增强功能,采集画面亮度增强值随环境亮度动态调整。 |
以开启自动低照度增强功能为例:
engine.SetLowlightEnhancement(ZegoLowlightEnhancementMode.Auto,ZegoPublishChannel.Main);
当环境光照度较低,且摄像头采集帧率过高时,每一帧画面的曝光时间不足,可能导致采集的视频画面偏暗,此时可以通过 EnableCameraAdaptiveFPS 开启摄像头自适应帧率。SDK 会根据设置的帧率范围匹配摄像头支持的采集帧率范围,在此范围内,根据环境亮度动态调整摄像头采集帧率,提升设置的帧率过高时的画面亮度。
int minCamFPS = 15;//设置最小帧率
int maxCamFPS = 25;//设置最大帧率
engine.EnableCameraAdaptiveFPS(true, minCamFPS, maxCamFPS, ZegoPublishChannel.Main);
调用 EnableColorEnhancement 接口,设置色彩增强参数 ZegoColorEnhancementParams(参数属性如下表)、以及其它参数,开启色彩增强功能。默认不开启色彩增强功能。
色彩增强参数 | 描述 |
---|---|
intensity | 色彩增强的强度,取值范围 [0.0, 1.0],默认为 0.0。 取值越大,色彩增强的效果越大。 |
skinToneProtectionLevel | 肤色保护的强度,取值范围 [0.0, 1.0],默认为 1.0。 取值越大,保护效果越好。 |
lipColorProtectionLevel | 唇色保护的强度,取值范围 [0.0, 1.0],默认为 0.0。 取值越大,保护效果越好。 |
ZegoColorEnhancementParams param = new ZegoColorEnhancementParams();
param.intensity = 1;//取值范围:[0,1],取值越大,色彩增强的强度越大。默认值:0。
param.lipColorProtectionLevel = 1;//取值范围:[0,1],取值越大,肤色保护程度越大。默认值:1。
param.skinToneProtectionLevel = 1;//取值范围:[0,1],取值越大,唇色保护程度越大。默认值:0。
engine.EnableColorEnhancement(true, param);//开启色彩增强
调用 StartPreview 接口开启预览后,可以设置不同的视频增强功能,并实时体验效果。
engine.StartPreview();
当预览效果达到预期后,可以调用 StartPublishingStream 接口开始推流,推流画面效果将与预览效果一致。
engine.StartPublishingStream("STREAM_ID");
以上,即可实现推流前视频增强功能。
联系我们
文档反馈