You need to enable JavaScript to run this app.
导航
Native 端基础美颜
最近更新时间:2024.02.23 20:57:28首次发布时间:2023.04.13 20:30:10

RTC SDK 提供基础美颜智能美化特效两种美颜功能,且二者不能共用。

  • 基础美颜提供美白、锐化、磨皮效果,广泛适用于视频通话、直播等场景。
  • 智能美化特效特效提供美颜、滤镜、背景贴纸等高级特效,需付费使用。参看 RTC 和智能美化特效(CV)产品深度融合打造的智能美化特效功能。
功能变更日志

自客户端 SDK 3.42 起,基础美颜功能可用。

前提条件
  • 你已经集成了 RTC SDK,并实现音视频通话功能。

  • 基础美颜首次运行时需要连接网络下载所需文件,因此需要确保你的设备具有网络连接,且系统时间正常。

操作步骤

集成 CV SDK

基础美颜依赖智能美化特效 CV SDK,RTC SDK 包中提供了可用于基础美颜的 CV SDK。你也可以选择其他版本的 CV SDK(版本不低于 4.4.2)。

Android

  1. 下载并解压 Android SDK,获取智能美化特效库文件 effectAAR-release_V4.x.xLite.aar

  2. 将特效库文件添加至 Android 项目中的 app/libs 文件夹中。注意,若对特效库文件进行重命名,则需确保特效库名在 Android 工程中一致。此处以重命名为 “ByteEffect.aar” 为例。

  3. 在项目根目录下 <yourprojectname>/app/build.gradle 文件的 dependencies 中使用 implementation 字段添加智能美化特效库,并点击 Sync 按钮同步。

    dependencies {
        //...
        implementation(name: 'ByteEffect', ext: 'aar')
        implementation 'com.volcengine:VolcEngineRTC:3.xx.xxx'
    }
    

iOS

我们提供两种集成方式:直接集成和通过本地 pod 方式集成。你可根据实际需求任选其一。

直接集成

  1. 下载并解压 iOS 端 RTC SDK,获取智能美化特效库 effect-sdk.framework 文件。

  2. 将 effect-sdk.framework 文件手动拖入项目工程中,并在 General 中将其 embed 属性设置为 Embed & Sign 模式。

通过本地 Cocoapods 方式集成

请确保已有 Cocoapods 相关配置。

  1. 下载并解压 iOS 端 RTC SDK,获取智能美化特效库 effect-sdk.framework 文件。

  2. 创建智能美化特效 SDK 的配置文件。创建文件 BytedEffectSDK.podspec,内容如下:

    Pod::Spec.new do |spec|
      spec.name         = 'BytedEffectSDK'
      spec.version      = '4.x.x' // 接入的火山引擎智能美化 SDK 版本
      spec.summary      = 'Demo for effect-sdk'
      spec.description  = 'Demo for effect-sdk'
      spec.homepage     = 'https://github.com/volcengine'
      spec.license      = { :type => 'Copyright', :text => 'Bytedance copyright' }
      spec.author       = { 'bytertc' => 'bytertc@bytedance.com' }
      spec.source       = { :path => './'}
      spec.ios.deployment_target = '11.0'
      spec.vendored_frameworks = 'effect-sdk.framework'
      spec.requires_arc = true
      spec.libraries = 'stdc++', 'z'
      spec.frameworks   = 'Accelerate','AssetsLibrary','AVFoundation','CoreGraphics','CoreImage','CoreMedia','CoreVideo','Foundation','QuartzCore','UIKit','CoreMotion'
      spec.weak_frameworks = 'Metal','MetalPerformanceShaders', 'Photos', 'CoreML'
    
    #  spec.resources = ['Resource/*.{bundle}']
    end
    
  3. BytedEffectSDK.podspec 文件和 effect-sdk.framework 文件放置在 Podfile 文件的同级目录:

  4. 将火山引擎智能美化 SDK 添加到 Cocoapods 项目目录中。在 Podfile 文件中追加如下内容:

    pod 'BytedEffectSDK', :path => './'
    
  5. Podfile 文件所在目录执行如下命令:

    pod install
    

实现基础美颜

  1. 调用 enableEffectBeauty,将参数 enable 设置为 true,开启基础美颜。各基础美颜模式的强度默认值分别为:美白 0.7,磨皮 0.8,锐化 0.5,清晰 0.7。

  2. 调用 setBeautyIntensity 调整基础美颜强度。 若在开启基础美颜前设置调用,则对应美颜功能的强度初始值会根据设置更新。 销毁引擎后,强度设置将会失效,再次开启美颜时强度恢复默认值。

  3. 调用 enableEffectBeauty,将参数 enable 设置为 false,关闭基础美颜。

注意事项
  • 首次安装 App 时,调用enableEffectBeauty(true)会返回 -1004,这表明当前正在下载美颜所需文件,下载完成后美颜会自动生效。文件下载成功后,后续开启基础美颜将立即生效,接口返回 0
  • 基础美颜的有效强度范围为 [0, 1],超过此范围则不生效。强度设置为 0 时无效果。
示例代码
RTCVideo mRTCVideo = RTCVideo.createRTCVideo(...);
// 开启基础美颜,各基础美颜模式的强度默认值分别为:美白 0.7,磨皮 0.8,锐化 0.5,清晰 0.7。
mRTCVideo.enableEffectBeauty(true);
// 调节美颜强度,例如将美白强度调整至 0.8
mRTCVideo.setBeautyIntensity(EffectBeautyMode.EFFECT_WHITE_MODE, 0.8);
// 关闭基础美颜,关闭后画面无美颜效果
mRTCVideo.enableEffectBeauty(false);
// 调节磨皮强度,例如将磨皮强度调节至 0.2
mRTCVideo.setBeautyIntensity(EffectBeautyMode.EFFECT_SMOOTH_MODE, 0.2);
// 开启基础美颜,开启后美白强度为 0.8, 磨皮强度为 0.2,锐化强度为 0.5
mRTCVideo.enableEffectBeauty(true);
// 开启基础美颜,各基础美颜模式的强度默认值分别为:美白 0.7,磨皮 0.8,锐化 0.5,清晰 0.7。
[self.rtcVideo enableEffectBeauty:YES];
// 调节美颜强度,例如将美白强度调整至 0.8
[self.rtcVideo setBeautyIntensity:ByteRTCEffectWhiteMode withIntensity:0.8f];
// 关闭基础美颜,关闭后画面无美颜效果
[self.rtcVideo enableEffectBeauty:NO];
// 调节磨皮强度,例如将磨皮强度调节至 0.2
[self.rtcVideo setBeautyIntensity:ByteRTCEffectSmoothMode withIntensity:0.2f];
// 开启基础美颜,开启后美白强度为 0.8, 磨皮强度为 0.2,锐化强度为 0.5
[self.rtcVideo enableEffectBeauty:YES];
API 参考
AndroidiOSWindows
开启/关闭基础美颜enableEffectBeautyenableEffectBeauty:enableEffectBeauty
调整基础美颜强度setBeautyIntensitysetBeautyIntensity:withIntensity:setBeautyIntensity