高级美颜
核心类
类名 | 类描述 |
---|---|
VHallLivePublish | 纯视频直播 |
VHRoom | 互动直播 |
基础美颜
配置是否启用美颜功能
初始化推流类 VHallLivePublish
时,传入视频配置VHPublishConfig
其中设置即可开启美颜功能
@property(nonatomic, strong) VHPublishConfig * config;
config.beautifyFilterEnable = YES; //开启美颜
美颜效果参数设置
推流器 (VHallLivePublish) 设置美颜参数方法
- (void)setBeautify:(CGFloat)beautify
Brightness:(CGFloat)brightness
Saturation:(CGFloat)saturation
Sharpness:(CGFloat)sharpness;
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
beautify | 是 | 1 | 磨皮 --- 默认 4.0f 取值范围[1.0, 10.0] 10.0 正常图片没有磨皮 |
brightness | 是 | 1 | 亮度 --- 默认 1.150f 取值范围[0.0, 2.0] 1.0 正常亮度 |
saturation | 是 | 1 | 饱和度 --- 默认 1.0f 取值范围[0.0, 2.0] 1.0 正常饱和度 |
sharpness | 是 | 1 | 锐化 --- 默认 0.1f 取值范围[-4.0,4.0] 0.0 正常锐化 |
@property (strong, nonatomic)VHallLivePublish *engine; ///<纯视频直播类
[self.engine setBeautify:10.0f Brightness:1.0f Saturation:1.0f Sharpness:0.0f]
高级美颜
导入的依赖库
# 需要额外使用Pod引入(大概会增加80MB左右)
pod 'VHYun_Beautify', '1.0.6'
工程预置(导入库头文件及声明美颜)
#import <VHBeautifyKit/VHBeautifyKit.h>
#import <VHBFURender/VHBFURender.h>
生成美颜模块
@property (nonatomic,strong) VHBeautifyKit *beautKit; ///<声明美颜模块
self.beautKit = [VHBeautifyKit beautifyManagerWithModuleClass:[VHBFURender class]];
视频直播使用美颜
初始化接口
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
config | 是 | VHPublishConfig * config | 配置参数 |
@property (nonatomic, strong) VHallLivePublish * engine;
@property (nonatomic, strong) VHPublishConfig * config;
[self.engine initWithBeautyConfig:self.config handleError:^(NSError *error) {
self.isBeauty = (error!=nil)?NO:YES;//是否可以使用美颜功能
}];
互动使用美颜
设置画面采集方向
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
orientation | 是 | 2 | 横屏直播方向参数 2,竖屏直播方向参数 3 |
[[self.beautKit currentModule] setCaptureImageOrientation:(@"当前方向" == @"横屏")?2:3];
使用高级美颜
@property (nonatomic, strong) VHLocalRenderView *localRenderView; ///<初始化本地采集画面
// 使用高级美颜
[self.localRenderView useBeautifyModule:[self.beautKit currentModule] HandleError:^(NSError * _Nonnull error) {
//是否可以使用高级美颜
self.isEnableBeauty = (error!=nil)?NO:YES;
}];
设置高级美颜参数
注 : 美颜列表及效果范围见 VHBeautifyEffectList.h
//设置瘦脸效果
[self.beautKit setEffectKey:eff_key_FU_CheekThinning toValue:0.5];
使用滤镜功能
注 : 滤镜名称和效果及范围见 VHBeautifyEffectList.h
//设置滤镜名称
[self.beautKit setEffectKey:eff_key_FU_FilterName toValue:eff_Filter_Value_FU_bailiang1];
//设置滤镜效果[0,1]
[self.beautKit setEffectKey:eff_key_FU_FilterLevel toValue:0.5];
修改于 2025-05-27 11:59:31