首页 > 应用开发 > IT综合 > 如何实现在线直播源码的美颜功能——接入美颜SDK
美颜是在线直播源码很重要的一部分功能,为了保证美颜质量并降低开发时间,在线直播源码会接入第三方美颜SDK,实现系统的美颜功能,接下来就介绍一下,在线直播源码是怎么接入美颜SDK的。
SDK接入流程
1.获取APPKEY:进入在线直播源码使用的美颜SDK官网,提交接入申请,填入applicationId获取appKey;(大多数的美颜SDK都可免费接入试用)
2.添加Maven集成:在项目的build.gradle中添加引用:
添加依赖
3.添加使用权限:
4.SDK认证。
对于所有模块的认证,流程都是一致的。每个模块都有一个入口类,应用中要使用某个模块的功能时,需要调用方法,注册这个模块。先设置监听器,在接收INIT消息时,注册需要使用的模块。AUTH消息为认证结果,如果无法使用特效,很多时候是因为认证失败。特效注册后,认证成功之前默认为模块可用,所以无需等待认证结果,可放心执行其他任务。具体代码如下:
5.使用流程:
在线直播源码利用CameraRecorder2来预览相机并录制视频,其中CameraRecorder2的使用方法如下:
*其中mRecord.setRenderer(mFlinger);//添加渲染,其中的特效处理可以添加到mFinger中。
*CameraRecorder2是一个相机预览及录制工具类。
*AAVT是一个对视频的渲染库文件,其中包对mp4文件的处理,相机预览和视频录制的工具,还有YUV视频格式的导出等功能。
礼物贴图:其引用的so库如下:
初始化AiyaGiftFilter类,如下:
*其中AiyaTracker表示的是加入人脸识别功能。另一种方式是:
添加礼物贴图动画监听
*其中贴图资源可以放在在线直播源码的Assets目录中,若想减少apk的体积可以吧资源放入网络中获取。(资源可以从Demo中的Assets目录中获取)
*添加贴图资源和释放
*具体使用可以参考Demo中DefaultEffectFlinger类
人脸识别模块:可以与贴图配合使用,如上。同时也可以与美颜模块中的美型(大眼,瘦脸)配合使用。
*具体使用可以参考Demo中DefaultEffectFlinger类中的使用。
美颜模块:美颜共有六种美颜形式。在线直播源码引用美颜的so文件如下:
初始化AyBeautyFilter
*其中key表示的是美颜的六种类型
*mBeautyDegree:表示的是美颜的值,其取值范围在[0.0f, 1.0f]。
*其中每一种美颜模式都可以设置磨皮系数,红润度参数和美白参数,取值范围[0.0f, 1.0f]
设置美颜强度:
设置磨皮强度:
设置红润强度:
设置美白强度:
*具体使用可以参考Demo中DefaultEffectFlinger类中的使用
短视频模块:引用的so库如下
使用方式:
*其中processTexture(widith,height,class);中第三个参数可传入上面的效果。
*具体使用,在线直播源码可以参考Demo中DefaultEffectFlinger类中的使用。
添加混淆
-keep class com.aiyaapp.aiya.IEventListener{*;}
-keep class com.aiyaapp.aiya.WeakAnimListener{*;}
-keep class com.aiyaapp.aiya.render.AnimListener{*;}
-keep class com.aiyaapp.aiya.AiyaGiftEffect{*;}
-keep class com.aiyaapp.aiya.AiyaBeauty{*;}
-keep class com.aiyaapp.aiya.AiyaTracker{*;}
-keep class com.aiyaapp.aiya.AiyaShaderEffect{*;}
-keep class com.aiyaapp.aiya.AiyaEffects{*;}
声明:本文由云豹科技转发自luo_jian_博客,如有侵权请联系作者删除
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70002045/viewspace-2790331/ ,如需转载,请注明出处,否则将追究法律责任。