启用美颜和特效

本文将介绍如何在 TRTC 直播功能时实现美颜特效的功能。通过美颜管理,您可以使用以下功能:
设置“磨皮”、“美白”、“红润”等美颜特效。
设置“大眼”、“瘦脸”、“V脸”、“下巴”、“短脸”、“小鼻”、“亮眼”、“白牙”、“祛眼袋”、“祛皱纹”、“祛法令纹”等修脸特效。
设置“发际线”、“眼间距”、“眼角”、“嘴形”、“鼻翼”、“鼻子位置”、“嘴唇厚度”、“脸型”等修脸特效。
设置“眼影”、“腮红”等美妆特效。
设置动态贴纸和人脸挂件等动画特效。

前提条件

需要使用美颜功能的 SDKAppID,请确保已开通 RTC-Engine 专业版包月套餐。包月套餐相关说明请参见文档 RTC-Engine 包月套餐计费说明

设置美颜算法和级别

TRTC 为您提供了多种磨皮算法,包括光滑、自然和优图三种,您可以根据自己的产品选择最适合的方案。
不同于其他三个平台通过美颜管理类 TXBeautyManager 设置美颜效果,TRTC Windows 平台需要调用 setBeautyStyle 设置美颜、美白、红润等特效。
Android
iOS
Mac
Windows
// 声明 TRTCCloud 变量及初始化
private TRTCCloud mCloud;
mCloud = TRTCCloud.sharedInstance(getApplicationContext());

TXBeautyManager beautyManager = mCloud.getBeautyManager();
beautyManager.setBeautyStyle(TXBeautyManager.TXBeautyStyleSmooth); // 美颜风格设置为光滑
beautyManager.setBeautyLevel(9); // 美颜级别设置为 9
// AppDelegate.h
@property (nonatomic, strong) TRTCCloud *trtcCloud;

// AppDelegate.m
_trtcCloud = [TRTCCloud sharedInstance]; // 创建 TRTC 实例

TXBeautyManager * beautyManager = [self.trtcCloud getBeautyManager];
[beautyManager setBeautyStyle:TXBeautyStyleSmooth]; // 美颜风格设置为光滑
[beautyManager setBeautyLevel:9]; // 美颜级别设置为 9
// AppDelegate.h
@property (nonatomic, strong) TRTCCloud *trtcCloud;

// AppDelegate.m
_trtcCloud = [TRTCCloud sharedInstance]; // 创建 TRTC 实例

TXBeautyManager * beautyManager = [self.trtcCloud getBeautyManager];
[beautyManager setBeautyStyle:TXBeautyStyleSmooth]; // 美颜风格设置为光滑
[beautyManager setBeautyLevel:9]; // 美颜级别设置为 9
ITRTCCloud* trtc_cloud_;
trtc_cloud_->setBeautyStyleSmooth(TRTCBeautyStyleSmooth, 5, 5, 5); // 设置美颜、美白、红润等特效
说明:
美颜级别取值范围为:0-9,其中 0 表示关闭,9表示效果最明显。
当您仅设置美颜风格,而没有设置美颜级别时,由于默认关闭美颜级别为0,您将无法看到美颜风格的效果。

设置美白级别和红润级别

调用 setWhitenessLevelsetRuddyLevel 可以分别设置美白级别和红润级别,以上两个接口参数与 setBeautyLevel 相同。
Android
iOS
Mac
// 声明 TRTCCloud 变量及初始化
private TRTCCloud mCloud;
mCloud = TRTCCloud.sharedInstance(getApplicationContext());

TXBeautyManager beautyManager = mCloud.getBeautyManager();
beautyManager.setWhitenessLevel(9); // 美白级别设置为 9
beautyManager.setRuddyLevel(9); // 红润级别设置为 9
// AppDelegate.h
@property (nonatomic, strong) TRTCCloud *trtcCloud;

// AppDelegate.m
_trtcCloud = [TRTCCloud sharedInstance]; // 创建 TRTC 实例

TXBeautyManager * beautyManager = [self.trtcCloud getBeautyManager];
[beautyManager setWhitenessLevel:9]; // 美白级别设置为 9
[beautyManager setRuddyLevel:9]; // 红润级别设置为 9
// AppDelegate.h
@property (nonatomic, strong) TRTCCloud *trtcCloud;

// AppDelegate.m
_trtcCloud = [TRTCCloud sharedInstance]; // 创建 TRTC 实例

TXBeautyManager * beautyManager = [self.trtcCloud getBeautyManager];
[beautyManager setWhitenessLevel:9]; // 美白级别设置为 9
[beautyManager setRuddyLevel:9]; // 红润级别设置为 9

设置色彩滤镜效果和强度

色彩滤镜是一副包含色彩映射关系的颜色查找表图片,SDK 会根据该查找表中的映射关系,对摄像头采集出的原始视频画面进行二次处理,以达到预期的滤镜效果。
Android
iOS
Mac
// 声明 TRTCCloud 变量及初始化
private TRTCCloud mCloud;
mCloud = TRTCCloud.sharedInstance(getApplicationContext());

TXBeautyManager beautyManager = mCloud.getBeautyManager();
Bitmap filterMap = BitmapFactory.decodeResource(getResources(), R.drawable.filterImage); beautyManager.setFilter(filterMap); // 设置滤镜效果
beautyManager.setFilterStrength(1); // 设置色彩滤镜强度为 1
// AppDelegate.h
@property (nonatomic, strong) TRTCCloud *trtcCloud;

// AppDelegate.m
_trtcCloud = [TRTCCloud sharedInstance]; // 创建 TRTC 实例

TXBeautyManager * beautyManager = [self.trtcCloud getBeautyManager];

UIImage *filterImage = [UIImage imageNamed:@"filterImage"];
[beautyManager setFilter:filterImage]; // 设置滤镜效果
[beautyManager setFilterStrength:1]; // 设置色彩滤镜强度为 1
// AppDelegate.h
@property (nonatomic, strong) TRTCCloud *trtcCloud;

// AppDelegate.m
_trtcCloud = [TRTCCloud sharedInstance]; // 创建 TRTC 实例

TXBeautyManager * beautyManager = [self.trtcCloud getBeautyManager];

NSImage *filterImage = [NSImage imageNamed:@"filterImage"];
[beautyManager setFilter:filterImage]; // 设置滤镜效果
[beautyManager setFilterStrength:1]; // 设置色彩滤镜强度为 1
说明:
滤镜色彩强度取值范围为:0 - 1,默认取值为0.5,数值越大滤镜效果越明显。

设置修脸特效

TRTC 为 Android 和 iOS 平台提供了多种修脸特效,包括“大眼”、“瘦脸”、“V脸”、“下巴”、“短脸”、“小鼻”、“亮眼”、“白牙”、“祛眼袋”、“祛皱纹”、“祛法令纹”等效果,需要集成 TEBeautyKit 进行使用,请参考 Android 平台集成TEBeautyKitiOS 平台集成TEBeautyKit
Android 平台高级美颜功能参考:Android 腾讯美颜特效SDK
iOS 平台高级美颜功能参考:iOS 腾讯美颜特效SDK

联系我们

如果有任何需要或者反馈,您可以联系:info_rtc@tencent.com。