互动视频
  • iOS : Objective-C
  • Android
  • macOS
  • Windows
  • Linux
  • Web
  • 小程序
  • Electron
  • 概述
  • 限制说明
  • SDK 下载
  • 快速开始
  • 常用功能
  • 推拉流进阶
  • 视频进阶
  • 音频进阶
  • 其他功能
  • 废弃接口
  • API 文档
  • 常见错误码
  • 常见问题
  • AI教育
  • KTV 合唱
  • 视频直播
  • 视频通话
  • 游戏直播
  • 直播答题
  • 娃娃机
  • 文档中心
  • 互动视频
  • 视频进阶
  • 美颜
  • 滤镜
  • 水印

美颜/滤镜/水印

更新时间:2023-12-11 15:46

1 功能简介

  1. 当在视频通话或直播时,希望向对方呈现出良好的肌肤状态,可使用 ZEGO SDK 的基础美颜功能来实现。开发者可以开启美颜开关,调整美白、磨皮等美颜参数,也可以设置滤镜,以实现自然的美颜效果。
  2. 当需要为教育类的教学课件设置版权方 Logo 等场景下,可使用 SDK 的水印功能来实现。

2 使用美颜

2.1 初始化 SDK

如何初始化请查看文档:快速开始-初始化

2.2 开启美颜

成功初始化 SDK 之后,调用 ZegoLiveRoomApi-Publisher.h 中的 enableBeautifying 开启美颜功能。

  • 接口原型:

    - (bool)enableBeautifying:(int)feature

  • 参数:

    feature:美颜特性,参考 ZegoBeautifyFeature 定义,默认无美颜;ZegoBeautifyFeature 中的美颜特性枚举都采用相应的默认值,比如 ZEGO_BEAUTIFY_POLISH 等同与 [apiInstance setPolishStep:4.0]

  • 示例代码如下:

    ...
    static ZegoLiveRoomApi *s_apiInstance = nil;
    // 初始化 SDK
    ...
    // 开启美颜
    [apiInstance enableBeautifying:ZEGO_BEAUTIFY_POLISH]; // 此处选择磨皮美颜特性,主推流通道;apiInstance 为 ZegoLiveRoomApi 实例

2.3 自定义美颜参数

开启美颜后,可在推流时按需设置美颜的磨皮,美白,锐化等参数来达到特定的美颜效果;此步骤是可选的。

2.3.1 设置磨皮参数

若需自定义磨皮的力度,可调用 ZegoLiveRoomApi-Publisher.h 中的 setPolishStep 来设置磨皮参数。

  • 接口原型:

    - (bool)setPolishStep:(float)step

  • 参数:

    step:磨皮的采样半径,取值范围[1,16],默认值是 4.0;参数值越大,磨皮力度越大,皮肤肉眼效果更好。

  • 示例代码如下:

    ...
    // 初始化 SDK 等操作
    ...
    // 设置美颜磨皮的采样步长
    [apiInstance setPolishStep:4.0]; //此处磨皮的采样半径采用默认值 4.0;apiInstance 为 ZegoLiveRoomApi 实例

2.3.2 设置美白参数

若需自定义美白的亮度,可调用 ZegoLiveRoomApi-Publisher.h 中的 setWhitenFactor 来设置美白参数。

  • 接口原型:

    - (bool)setWhitenFactor:(float)factor

  • 参数:

    factor:美白亮度修正系数,取值范围[0,1],默认值是 0.5;参数值越大亮度越暗即参数值越小越白。

  • 示例代码如下:

    ...
    // 初始化 SDK 等操作
    ...
    // 设置美颜美白的亮度修正参数
    [apiInstance setWhitenFactor:0.5]; //此处美白亮度修正系数采用默认值 0.5;apiInstance 为 ZegoLiveRoomApi 实例

2.3.3 设置锐化参数

若需自定义画面的锐化效果,可调用 ZegoLiveRoomApi-Publisher.h 中的 setSharpenFactor 来设置锐化参数。

  • 接口原型:

    - (bool)setSharpenFactor:(float)factor

  • 参数:

    factor:锐化系数,取值范围[0,2],默认值是 0.2;参数值越大锐化越强,图片越清晰。

  • 示例代码如下:

    ...
    // 初始化 SDK 等操作
    ...
    // 设置锐化参数
    [apiInstance setSharpenFactor:0.2]; //此处锐化系数采用默认值 0.2;apiInstance 为 ZegoLiveRoomApi 实例

2.3.4 设置美颜采样颜色阈值

若需自定义美颜采样颜色的阈值,可调用 ZegoLiveRoomApi-Publisher.h 中的 setPolishFactor 来设置采样颜色参数。

  • 接口原型:

    - (bool)setPolishFactor:(float)factor

  • 参数:

    factor:美颜采样颜色阈值,取值范围[0,16],默认值是 4.0;参数值越小,画面稍微有点儿朦胧。

  • 示例代码如下:

    ...
    // 初始化 SDK 等操作
    ...
    // 设置美颜采样颜色阈值
    [apiInstance setPolishStep:4.0]; //此处采样颜色系数采用默认值 4.0;apiInstance 为 ZegoLiveRoomApi 实例

2.4 设置滤镜

若需使用滤镜调整画面颜色,可调用 ZegoLiveRoomApi-Publisher.h 中的 setFilter 来设置滤镜类型。

  • 接口原型:

    - (bool)setFilter:(ZegoFilter)filter

  • 参数:

    filter:滤镜类型,参考 ZegoFilter 枚举,默认不使用滤镜。

  • 示例代码如下:

    ...
    // 初始化 SDK 等操作
    ...
    // 设置滤镜
    [apiInstance setFilter:ZEGO_FILTER_BLACKWHITE]; //此处滤镜类型采用黑白;apiInstance 为 ZegoLiveRoomApi 实例

3 使用水印

3.1 初始化 SDK

如何初始化请查看文档:快速开始-初始化

3.2 选用水印图片

可调用 ZegoLiveRoomApi-Publisher.h 中的 setWaterMarkImagePath 选择用做水印的图片。

注意:

  1. 在初始化 SDK 成功后设置水印。
  2. 水印图片只支持 png、jpg 格式。
  • 接口原型:

    - (void)setWaterMarkImagePath:(NSString *)filePath

  • 参数:

    imagePath:预设置的水印图片路径,绝对路径。

  • 示例代码如下:

    ...
    // 设置水印图片路径
    // 1. Bundle 形式,需要将图片存放于项目 Bundle 内任意位置,通过 NSBundle 的 pathForResource:ofType: 方法获取图片的绝对路径并加上 file:// 前缀
    ZegoliveRoom.setWaterMarkImagePath(@"file://%@"); 
    // 2. Assets 形式,需要将图片存放在 iOS 工程自带的 Assets.xcassets 中 
    ZegoliveRoom.setWaterMarkImagePath(@"asset://ZegoLogo");

3.3 设置水印图片位置

3.3.1 设置预览画面的水印图片位置

需要在本地预览画面上添加水印时,调用 ZegoLiveRoomApi-Publisher.h 中的 setPreviewWaterMarkRect

  • 接口原型:

    - (void)setPreviewWaterMarkRect:(CGRect)waterMarkRect

  • 参数:

    waterMarkRect:水印图片的位置与尺寸,左上角为坐标系原点,区域不能超过设置的推流编码分辨率。

3.3.2 设置推流画面的水印图片位置

需要在推流画面添加水印时,调用 ZegoLiveRoomApi-Publisher.h 中的 setPublishWaterMarkRect

  • 接口原型:

    - (void)setPublishWaterMarkRect:(CGRect)waterMarkRect

  • 参数:

    waterMarkRect:水印图片的位置与尺寸,左上角为坐标系原点,区域不能超过设置的推流编码分辨率。

4 API 参考列表

方法 描述
enableBeautifying: 开启美颜
setFilter: 设置滤镜
setPolishStep: 设置美颜磨皮的采样步长
setWhitenFactor: 设置美颜美白的亮度修正参数
setSharpenFactor: 设置锐化参数
setPolishFactor: 设置美颜采样颜色阈值
setWaterMarkImagePath: 设置水印图片的路径
setPublishWaterMarkRect: 设置推流水印图片的位置
setPreviewWaterMarkRect: 设置预览水印图片的位置

5 相关文档

完成了美颜、滤镜或者水印的设置后,可以使用 ZEGO SDK 依次完成如下功能来实现直播以检验美颜、滤镜或者水印设置的效果。

本篇目录