相芯美颜

更新时间: 2023/08/02 08:00:32

云信1对1娱乐社交解决方案支持接入相芯等第三方专业美颜滤镜厂商,实现美颜、美妆、滤镜、贴纸等美颜特效。您可以快速构建具备美颜特效能力的应用,让用户在进行视频通话或直播时,呈现更良好的肌肤状态和精神面貌。

相芯美颜(Faceunity Nama SDK,下文简称 Nama SDK)的详细功能介绍请参见人脸特效

准备工作

  1. 获取相芯美颜 SDK 的证书,具体请联系网易云信商务经理。
  2. 下载1对1 娱乐社交示例项目源码

功能原理

相芯美颜原理.png

  1. NERTC SDK 提供了onNERtcEngineVideoFrameCaptured: rotation: 采集数据回调的接口,将采集到的视频图像数据通过该接口回调出来。

  2. Nama SDK 通过回调获取视频图像数据,进行美颜处理后,通过参数返回给 NERTC SDK。

  3. NERTC SDK 将美颜后的数据进行编码和传输。

基于 Demo 源码集成

您可以基于1对1 娱乐社交示例项目源码,快速集成相芯美颜。

  1. 将源码工程中的 FaceUnity 文件夹拷贝到您的项目目录下。

  2. 将证书文件 authpack.h 放到本地项目的 FaceUnity/FaceUnity/Classes 目录下(如果存在则替换)。

  3. 在您项目的 pod 文件中添加对 FaceUnity 的依赖,其中 path 根据您的实际路径关系进行调整。

    pod 'FaceUnity', :path => 'FaceUnity/FaceUnity.podspec'
    
  4. 执行如下命令引入 FaceUnity 模块。

    pod install
    
  5. AppDelegate 中初始化美颜模块。

    FUDemoManager.share()
    
  6. 在视频帧的回调中增加美颜处理。

    // 视频采集帧回调
    func onRtcVideoFrameCaptured(_ bufferRef: CVPixelBuffer, rotation: NERtcVideoRotationType) {
        FUManager.share().renderItems(to: bufferRef)
    }
    
  7. (可选)如果需要调节美颜效果,可以将美颜调节的页面直接布局到您的视图控制器,具体代码参考 NPTBeautySettingsViewController 。如果您对美颜的设置页面有自定义的需求,您可以进入 FaceUnity 文件夹进行改写。

        var safeAreaBottom: CGFloat = 0.0
        if #available(iOS 11.0, *) {
            safeAreaBottom = view.safeAreaInsets.bottom
        }
        FUDemoManager.share().show(inTargetController: self, originY: view.frame.height -   safeAreaBottom - 49)
        FUDemoManager.share().defaultBarSelectedItem(0)
    

相关文档

基于 RTC SDK 集成相芯美颜的步骤请参见相芯美颜

此文档是否对你有帮助?
有帮助
去反馈
  • 准备工作
  • 功能原理
  • 基于 Demo 源码集成
  • 相关文档