集成 SDK

更新时间: 2023/09/07 01:56:46

本文介绍 Windows&macOS 端集成 NERoom SDK 的操作步骤,帮助您快速集成 NERoom SDK。

环境要求

名称 要求
IDE Visual Studio 2017及以上 or Xcode 11.3.1及以上
OS Windows7及以上 or macOS 10.14及以上

SDK 引入

Windows 开发环境配置

  1. 单击下载 NERoom Windows C++ SDK(64位)NERoom Windows C++ SDK(32位)

    下载完成后,Windows SDK 目录结构如下:

    ├─bin     包含 SDK 的二进制文件
    ├─include 您需要引入的头文件目录
    └─lib     您需要引入的依赖库文件
    

    库文件的说明如下表所示。您可以根据您需要集成的能力,引入对应的库文件。

    功能/插件 动态库
    所有能力 所有 dll 动态库
    基础功能
    • nertc_sdk.dll
    • protoopp.dll
    • SDL2.dll
    • nim.dll
    • nim_chatroom.dll
    • protoopp.dll
    • roomkit.dll
    • roomkitd.dll(Debug 版本)
    • h_available.dll
    美颜
    • 美颜库:NERtcBeauty.dll
    • 人脸检测库:NERtcFaceDetect.dll
    • 机器学习库:NERtcnn.dll
    虚拟背景
    • 虚拟背景库:NERtcPersonSegment.dll
    • 机器学习库:NERtcnn.dll
    音频 AI 降噪 AI 降噪库:NERtcAiDenoise.dll
    AI 啸叫检测
    • AI 啸叫检测库:NERtcAiHowling.dll
    • 机器学习库:NERtcnn.dll
    人脸增强
    • 人脸增强库:NERtcFaceEnhance.dll
    • 机器学习库:NERtcnn.dll
    视频降噪 视频降噪库:NERtcVideoDenoise.dll
    视频 AI 超分 视频 AI 超分库:NERtcSuperResolution.dll
    屏幕增强
    • 屏幕增强库:NERtcScreenShareEnhance.dll
    • 机器学习库:NERtcnn.dll
  2. 将 bin 目录设置为项目的依赖目录,或放置与您已有项目的可搜索环境变量中、将 include 文件夹添加为项目的头文件搜索路径、将 lib 文件夹添加为项目的库文件搜索路径并引入库文件到项目中。以下为Qt5 Qmake配置示例:

    win32 {
        DEPENDPATH += $$PWD/bin
        INCLUDEPATH += $$PWD/include
        LIBS += -L$$PWD/lib -lroomkit
    }
    

macOS 开发环境配置

  1. 单击下载 NERoom macOS C++ SDK

    macOS SDK 目录结构如下:

    ├─include       您需要引入的头文件目录
    ├─lib           包含 SDK 所需的 frameworkdylib文件
    ├─resource      基础美颜资源文件 
    ├─resources     美颜滤镜、贴图等高级资源文件
    └─tests         库的单元测试执行程序及集成测试执行程序,用于验证功能稳定性
    
  2. 根据您需要集成的能力,选择对应的 XX.framework 文件,并引入到您的工程中,以下为 Qt5 Qmake 配置示例:

    macx {
        INCLUDEPATH += $$PWD/roomkit/include
        # 如果是 debug 调试,请链接 libroomkitd.dylib,以下为 release 示例
        LIBS += -L$$PWD/roomkit/lib -lroomkit
    
        DESTDIR  = $$PWD/bin
        DEPENDPATH += $$PWD/bin
    
        # 如果是 debug 调试,请拷贝打包 libroomkitd.dylib,以下为 release 示例
        ROOM_KIT_FRAMEWORK.files = $$PWD/roomkit/lib/libroomkit.dylib \
                                $$PWD/roomkit/lib/nertc_sdk_Mac.framework \
                                $$PWD/roomkit/lib/NERtcAiHowling.framework \
                                $$PWD/roomkit/lib/NERtcFaceDetect.framework \
                                $$PWD/roomkit/lib/NERtcVideoDenoise.framework \
                                $$PWD/roomkit/lib/NERtcFaceEnhance.framework \
                                $$PWD/roomkit/lib/NERtcPersonSegment.framework \
                                $$PWD/roomkit/lib/NERtcnn.framework \
                                $$PWD/roomkit/lib/NERtcBeauty.framework \
                                $$PWD/roomkit/lib/NERtcAiDenoise.framework \
                                $$PWD/roomkit/lib/NERtcScreenShareEnhance.framework \
                                $$PWD/roomkit/lib/libnim_chatroom.dylib \
                                $$PWD/roomkit/lib/libh_available.dylib \
                                $$PWD/roomkit/lib/libnim.dylib \
        ROOM_KIT_FRAMEWORK.path = /Contents/Frameworks
        QMAKE_BUNDLE_DATA += ROOM_KIT_FRAMEWORK
    }
    
    功能/插件 framework 动态库
    所有能力 所有 framework 动态库
    音视频
    • libroomkit.dylib
    • nertc_sdk_Mac.framework
    美颜
    • 美颜库:NERtcBeauty.framework
    • 人脸检测库:NERtcFaceDetect.framework
    • 机器学习库:NERtcnn.framework
    虚拟背景
    • 虚拟背景库:NERtcPersonSegment.framework
    • 机器学习库:NERtcnn.framework
    音频 AI 降噪 AI 降噪库:NERtcAiDenoise.framework
    AI 啸叫检测
    • AI 啸叫检测库:NERtcAiHowling.framework
    • 机器学习库:NERtcnn.framework
    人脸增强
    • 人脸增强库:NERtcFaceEnhance.framework
    • 机器学习库:NERtcnn.framework
    视频降噪 视频降噪库:NERtcVideoDenoise.framework
    屏幕增强
    • 屏幕增强库:NERtcScreenShareEnhance.framework
    • 机器学习库:NERtcnn.framework

NERoom SDK初始化

创建NERoom 实例

    createNERoomKit()

销毁NERoom 实例

    destroyNERoomKit()

示例代码

实现初始化功能的示例代码如下:

    auto roomkit =createNERoomKit();
    NERoomKitOptions options;
    options.appKey = "you appkey";
    options.logPath = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation).toStdString().append("/Netease/RoomkitSample");
    options.logLevel = NEVERBOSE;
    roomkit->initialize(options, [&bInit](int errorCode, const std::string& errorMsg){
    });
此文档是否对你有帮助?
有帮助
去反馈
  • 环境要求
  • SDK 引入
  • Windows 开发环境配置
  • macOS 开发环境配置
  • NERoom SDK初始化
  • 示例代码