短视频、直播平台第三方SDK接入教程

如今网络视频直播行业很是火爆,因此不少公司也但愿开发直播平台,通常直播平台须要用户给主播送礼物来实现盈利,因此刷礼物的功能是必备的,另外为了增长视频的美感与炫酷等特效功能,也须要用到美颜与视频滤镜等功能,实现以上需求如今大部分企业是经过第三方视频SDK来完成的。网络

先贴效果图:
图片描述app

项目集成流程:ide

1.获取APPKEY:进入哎吖科技官网:http://www.aiyaapp.com/,提交接入申请,填入applicationId获取appKey。(能够免费申请试用)工具

2.添加Maven集成:在项目的build.gradle中添加引用,如图:
图片描述gradle

添加依赖动画

compile 'com.aiyaapp.aiya:AyCore:v4.0.2'ui

compile 'com.aiyaapp.aiya:AyEffect:v4.0.2'spa

compile 'com.aiyaapp.aiya:AyBeauty:v4.0.2'code

compile'com.aiyaapp.aiya:AyFaceTrack:v4.0.2视频

compile 'com.aiyaapp.aiya:AyShortVideoEffect:v4.0.2'

  1. 添加使用权限

四、AiyaSDK认证。对于全部模块的认证,流程都是一致的。每一个模块都有一个入口类,应用中要使用某个模块的功能时,须要调用AiyaEffects.registerComponent方法,注册这个模块。先设置监听器,在接收INIT消息时,注册须要使用的模块。AUTH消息为认证结果,若是没法使用特效,不少时候是由于认证失败。特效注册后,认证成功以前默认为模块可用,因此无需等待认证结果,可放心执行其余任务。

5.、使用流程:

利用CameraRecorder2来来预览相机并录制视频。
图片描述

*其中mRecord.setRenderer(mFlinger);//添加渲染,其中的特效处理能够添加到mFinger中。
*CameraRecorder2是一个相机预览及录制工具类。

*AAVT是一个对视频的渲染库文件,其中包对mp4文件的处理,相机预览和视频录制的工具,还有YUV视频格式的导出等功能。

礼物贴图:引用so库

初始化AiyaGiftFilter类

*其中AiyaTracker表示的是加入人脸识别功能。

添加礼物贴图动画监听

*其中贴图资源能够放在项目的Assets目录中,若想减小apk的体积能够吧资源放入网络中获取。(资源能够从Demo中的Assets目录中获取)

*添加贴图资源和释放

*具体使用能够参考Demo中DefaultEffectFlinger类

人脸识别模块:能够与贴图配合使用,如上。同时也能够与美颜模块中的美型(大眼,瘦脸)配合使用。

*具体使用能够参考Demo中DefaultEffectFlinger类中的使用。

美颜模块:美颜共有AiyaBeauty.TYPE1,AiyaBeauty.TYPE2,AiyaBeauty.TYPE3,AiyaBeauty.TYPE4,

AiyaBeauty.TYPE5,AiyaBeauty.TYPE6,六种美颜形式。其引用的so文件以下

初始化AyBeautyFilter

*其中key表示的是美颜的六种类型

*mBeautyDegree:表示的是美颜的值,其取值范围在[0.0f, 1.0f]。

*其中每一种美颜模式均可以设置磨皮系数,红润度参数和美白参数,取值范围[0.0f, 1.0f]

设置美颜强度、设置磨皮强度、设置红润强度、设置美白强度

短视频模块:引用so库

其现总共有13中效果分别是:

无特效 ——————LazyFilter.class

灵魂出窍 ——————SvSpiritFreedFilter.class

抖动 —————— SvShakeFilter.class

黑魔法 —————— SvBlackMagicFilter.class

虚拟镜像 —————— SvVirtualMirrorFilter.class

荧光 —————— SvFluorescenceFilter.class

时光隧道 —————— SvTimeTunnelFilter.class

躁动 —————— SvDysphoriaFilter.class

终极变色 —————— SvFinalZeligFilter.class

动感分屏 —————— SvSplitScreenFilter.class

幻觉 —————— SvHallucinationFilter.class

70S —————— SvSeventysFilter.class

炫酷转动 —————— SvRollUpFilter.class

四分屏 —————— SvFourScreenFilter.class

三分屏 —————— SvThreeScreenFilter.class

黑白闪烁 —————— SvBlackWhiteTwinkleFilter.class

转场动画 —————— SvCutSceneFilter.class