如何实现在线直播源码的美颜功能——接入美颜SDK
美颜是在线直播源码很重要的一部分功能,为了保证美颜质量并降低开发时间,在线直播源码会接入第三方美颜SDK,实现系统的美颜功能,接下来就介绍一下,在线直播源码是怎么接入美颜SDK的。
SDK接入流程
1.获取APPKEY:进入在线直播源码使用的美颜SDK官网,提交接入申请,填入applicationId获取appKey;(大多数的美颜SDK都可免费接入试用)
2.添加Maven集成:在项目的build.gradle中添加引用:
allprojects {repositories {jcenter()maven { url "https://d1.bintray.com/aiyaapp/sdk" }}
}
添加依赖
compile 'com.aiyaapp.aiya:AyCore:v4.0.2'
compile 'com.aiyaapp.aiya:AyEffect:v4.0.2'
compile 'com.aiyaapp.aiya:AyBeauty:v4.0.2'
compile 'com.aiyaapp.aiya:AyFaceTrack:v4.0.2
compile 'com.aiyaapp.aiya:AyShortVideoEffect:v4.0.2'
3.添加使用权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
4.SDK认证。
对于所有模块的认证,流程都是一致的。每个模块都有一个入口类,应用中要使用某个模块的功能时,需要调用方法,注册这个模块。先设置监听器,在接收INIT消息时,注册需要使用的模块。AUTH消息为认证结果,如果无法使用特效,很多时候是因为认证失败。特效注册后,认证成功之前默认为模块可用,所以无需等待认证结果,可放心执行其他任务。具体代码如下:
//设置认证监听
AiyaEffects.setEventListener(new IEventListener() {@Overridepublic int onEvent(int i, int i1, String s) {}});//初始化认证
AiyaEffects.init(getApplicationContext(),"appkey");
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_博客,如有侵权请联系作者删除
如何实现在线直播源码的美颜功能——接入美颜SDK相关推荐
- 在线直播源码直播全流程探索
在线直播源码直播全流程探索 在线直播源码直播全流程探索 生成阶段 生成阶段包括对音视频的采集和处理: 音视频的采集,采集阶段主要是对原始视频内容进行采集即直播内容的来源,根据应用场景的差别,我们可以分 ...
- 如何评判在线直播源码优劣?视频直播软件开发经验之谈
直播经过这些年的不断发展,使用者逐渐增加,在视频直播软件开发行业从业者的不断努力下,在线直播源码变得越来越完善,甚至已有了一些开发窍门的积累和判断视频直播软件优劣性的指标,本篇文章就来讲讲,该如何评判 ...
- 在线直播源码评论弹幕是如何“练”成的?
在线直播源码评论弹幕是如何"练"成的? 提起弹幕(dànmù),大家都会想到「视频弹幕」.视频弹幕是指网友们在观看视频的同时参与评论,即所谓"即时反馈", 评论 ...
- 在线直播源码,VUE 获奖名单滚动显示的两种方式
在线直播源码,VUE 获奖名单滚动显示的两种方式 第一种: 使用vue-seamless-scroll组件: 1.安装vue-seamless-scroll npm install vue-seaml ...
- 在线直播源码是如何实现短信验证码登录的
在线直播源码都有登录页面,登录时输入正确的验证码才可以登录,废话不多说,今天就用javascript和异步,来实现在线直播源码自动生成图片验证码的功能. 首先我们要插入一个一般处理程序(也就是ashx ...
- 在线直播源码中直播间内大转盘功能的实现
年前,云豹在线直播源码更新时,我们为其添加了"大转盘功能",该功能在直播间中,可实现"付费转动转盘获得礼物"的功能,那么该功能是如何实现的呢? 用户在使用该功能 ...
- 在线直播源码搭建直播平台的后端
在线直播源码搭建直播平台的后端 后端项目初始化 1.全局安装express脚手架 额,这个应该是属于准备工作的.给忘记了,那就凑合放在这里吧,别打我,我知道错了,但我就是不改[狗头保命] cnpm i ...
- 专业的直播系统开发,在线直播源码讲解
现在和大家分享一个关于直播App开发,在线直播源码主要的5步骤的内容就可以完成一款直播App的开发.这5步骤包括: 真机调试,通过模拟器和真机调试功能进行App优化,一键点击即可在iOS和Androi ...
- 优质在线直播源码进行直播间搭建时需要它的“帮助”才行
在直播间搭建这方面,可能绝大多数人都存在疑惑:是不是找一开发公司购买一套优质的在线直播源码就可以了?其实源码对于开发来说,确确实实是非常重要的,而且也是最基础的一部分.但是在此基础之上,还需要更多技术 ...
最新文章
- Unicode、UTF-8 和 ISO8859-1到底有什么区别(转载)
- MySQL存储过程使用游标循环数据列表
- linux退出windows域,删除Windows AD域控制器的三种方法
- C++面向对象高级编程(上) 第三周笔记 GeekBand
- 国庆记事之一:小白结婚及我跟女朋友吵架
- 【转】el-cascade设置默认值遇到的坑!
- game design原理系列学习笔记(四)
- 511遇见易语言大漠多线程模块教程(1-12课)
- 软件工程学习笔记(二)~软件需求说明书
- gb/t19011-2013 管理体系审核指南
- Java开发实习(入职经历)
- 如何做好日程管理?实操介绍:不同角色的日程管理方法
- 关于计算机的小故事英语作文,简单的英语小故事精选【六篇】
- arcgis多面体数据转面_ArcGIS多面体(multipatch)解析——引
- 指数灰度变换法 matlab,matlab指数灰度变换
- 有房间匹配和无房间匹配
- 【vue-清除默认样式-完结】
- 2018 react 大会_2018年React.js全面指南
- 《 初学 》 html5 制作简单时钟
- 大创小组讨论会议纪要
热门文章
- 中亦安图oracle培训,【中亦安图】Systemstate Dump分析经典案例(8)
- 郑州大学本科生毕业论文latex模板
- 计算机睡眠伤硬盘,放开那块硬盘!聊聊Win8伤盘那些事
- 输入两个正整数,求其最大公约数。
- Linux刻录光盘win10认不到,Windows10系统读不取DVD光驱和刻录光盘
- Tiled结合Unity实现瓦片地图——Unity实战篇
- 【第2篇】基础数据类型
- 用python做一个简单的猜拳游戏
- 2023springboot计算机毕业设计选题推荐、springboot计算机毕业设计题目大全
- android 5.0一键刷机教程,HTC D820t (Desire 820 移动4G Android 5.0)一键刷机教程,轻松刷机...