实现图像处理
前提条件
在实现基本的 AI 美颜功能之前,请确保:
- 已联系 ZEGO 技术支持获取到 ZegoEffects SDK 唯一的鉴权文件。
- 已在项目中集成 SDK,详情请参考 快速开始 - 集成 SDK。
- 已在项目中集成 ZegoExpressSDK,详情请参考 快速开始 - 集成 SDK。
- 已在项目中导入 ZegoEffects 资源和模型,详情请参考 导入资源和模型
使用步骤
1. 导入 ZegoExpress React Native SDK。
1
下载 ZegoExpress React Native SDK
进入您的项目根目录,并执行以下任意命令,下载 ZEGO Express React Native SDK。
npm install zego-express-engine-reactnative --save
2
导入 ZEGO Express React Native SDK
导入 ZEGO Express React Native SDK。
import ZegoExpressEngine, {
ZegoPublishChannel,
ZegoTextureView,
ZegoVideoConfig,
ZegoVideoConfigPreset
}
from "zego-express-engine-reactnative";
3
导入 ZEGO Effects React Native SDK
导入 ZEGO Effects React Native SDK。
import ZegoEffects from '@zegocloud/zego-effects-reactnative';
3. 初始化并调用 AI 美颜相关接口
1
开启自定义视频前处理
调用 Express 的 enableCustomVideoProcessing 接口,开启自定义视频前处理。
2
启用图像处理功能
传入鉴权文件,并调用 AI 美颜的 enableImageProcessing 接口,启用图像处理功能。
3
开启美颜功能
根据需求调用 enableSmooth、enableFaceLifting 等 AI 美颜接口,实现相关功能。
/*
* 初始化美颜效果 SDK。
* 此方法应在创建 Express 实例后调用。
*/
async function initEffects() {
// 为 Express 和 Effects启 用自定义视频处理
// engine 是 ExpressEngine 的一个实例
await engine.enableCustomVideoProcessing(true, {}, ZegoPublishChannel.Main);
// 记录 Effects SDK 的版本
console.log(`Effects version=${await ZegoEffects.getVersion()}`);
// 从 SDK 获取认证信息
const authInfo: string = await ZegoEffects.getAuthInfo(appSign);
// license获取请联系Zego技术支持
const license: string = "";
// 使用获取的许可证创建 Effects 实例
const effects = new ZegoEffects(license);
// 监听错误事件并处理
effects.on('error', (errorCode: number, desc: string) => {
// 记录错误信息以供调试
console.error(`Error code: ${errorCode}, Description: ${desc}`);
});
// 为 Express 启用自定义处理器,为 Effects 启用图像处理
effects.enableImageProcessing(true);
// 启用并配置磨皮效果以获得更好的美化效果
effects.enableSmooth(true);
effects.setSmoothParam({ intensity: 100 });
// 启用瘦脸效果以创建更小的脸部外观
effects.enableFaceLifting(true);
effects.setFaceLiftingParam({ intensity: 100 });
// 这里可以添加其他效果或配置的额外步骤
// 例如:
// effects.enableWhitening(true);
// effects.setWhiteningParam({ intensity: 50 });
// 确保所有效果都已正确启用和配置
console.log('美颜效果初始化成功。');
}
4. 推流
实现上述美颜效果后,即可进行推流等相关操作。