如今網絡視頻直播行業很是火爆,因此不少公司也但願開發直播平臺,通常直播平臺須要用戶給主播送禮物來實現盈利,因此刷禮物的功能是必備的,另外爲了增長視頻的美感與炫酷等特效功能,也須要用到美顏與視頻濾鏡等功能,實現以上需求如今大部分企業是經過第三方視頻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'
四、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