RTC 和智能美颜特效产品(CV 产品)深度融合,你可以通过调用 RTC SDK 提供的美颜处理接口,快速接入 CV 功能,比自行集成 CV 产品更方便更健壮。通过 CV 功能,你可以对本地采集的视频添加美颜、滤镜、贴纸等特效。
查看本文档,了解如何在 RTC 应用中接入 CV 功能。

前置条件
  1. 已集成了 3.21.1 及以上版本的 RTC SDK

RTC 最新版本均支持本文档的集成方案,为保证你可以体验所有新增特性,建议使用 最新版本 RTC SDK。

  1. 已在项目中通过 RTC SDK 实现 RTC 视频通话功能
  2. 已通过以下渠道之一获取 CV SDK:
  1. 联系 CV 技术服务人员获取符合业务功能需求的 CV License 和 CV 素材资源包
操作步骤
1. 将 CV SDK 添加到项目中,并集成

参看 项目中加入 SDK 和 代码中集成 SDK。

集成注意事项
iOS

CV SDK 和 RTC SDK 可以按需提供动态库/静态库打包版本。RTC 强烈建议:在集成时,对于 CV SDK 和 ByteRTC SDK,均采用动态库。此时,你无需修改项目的编译配置。

不同的集成方式,参看 如何集成 CV SDK 动态库? 和 如何集成 CV SDK 静态库?。

Android

开发 Android 应用时需进行混淆配置,具体设置参看在开发 Android 应用时,如何进行混淆配置?

Windows
2. 调用 RTC API 实现 CV 功能
API 调用时序图

以 Android 为例,采用 RTC SDK 内部视频采集方案时,API 调用时序可以参考下图:

alt

API 参考
序号业务逻辑AndroidiOSMacWindows备注
1检查视频特效许可证checkVideoEffectLicensecheckVideoEffectLicense:checkVideoEffectLicense:checkLicense关于许可证的相关问题,参看授权相关。
2设置视频特效算法模型路径setVideoEffectAlgoModelPathsetVideoEffectAlgoModelPath:setVideoEffectAlgoModelPath:setAlgoModelPath---
3创建/销毁视频特效引擎enableVideoEffectenableVideoEffect:enableVideoEffect:enableEffect---
4设置美颜、贴纸特效包,支持叠加设置setVideoEffectNodessetVideoEffectNodes:setVideoEffectNodes:setEffectNodes---
5设置美颜特效强度updateVideoEffectNodeupdateVideoEffectNode:nodeKey:nodeValue:updateVideoEffectNode:nodeKey:nodeValue:updateNode你必须根据各个特效的情况,对特效强度进行设置
6设置颜色滤镜setVideoEffectColorFiltersetVideoEffectColorFilter:setVideoEffectColorFilter:setColorFilter在选择滤镜素材时,请参看 滤镜素材对应。
7设置颜色滤镜强度setVideoEffectColorFilterIntensitysetVideoEffectColorFilterIntensity:setVideoEffectColorFilterIntensity:setColorFilterIntensity---
8注册人脸检测观察者registerFaceDetectionObserverregisterFaceDetectionObserver:withInterval:registerFaceDetectionObserver:withInterval:registerFaceDetectionObserver---
3. 正式资源替换

测试完成之后、应用正式上线之前,你需要将测试使用的 CV License 与素材文件全部替换为正式资源,请向技术服务人员获取正式资源后,按如下步骤进行操作:
Step 1:将工程文件中的 CV 资源文件替换为正式的 CV License 与素材文件

alt
Step 2:将 LICENSE_NAME 修改为新的 CV License 的相对路径,替换完成可通过 checkVideoEffectLicense 确认许可证文件绝对路径是否正确。若替换后授权失败,参考 Android 授权操作指南并可同时尝试卸载重装 APP 或清理 APP 缓存。

注意事项