最近在弄視頻直播的的app,裏面就涉及到一對一視頻美顏的功能,因爲個人項目裏面集成的是融雲的視頻SDK(融雲是集成了聲網的SDK),可是坑爹的融雲sdk不帶直播美顏功能,問了客服回覆說本身寫。。蛋疼,關鍵我對於美顏這塊的算法一無所知啊。。只能找了個第三方的美顏方案解決了(須要付費,首月免費~)。雖然要付費但起碼能實現美顏功能了。。git
1.首先開啓 融雲的視頻幀監聽的功能,在RCCall.mm的文件中的兩個方法以下:算法
一。startSingleCall:(NSString *)targetId mediaType:(RCCallMediaType)mediaType
二。- (void)didReceiveCall:(RCCallSession *)callSessionapp
添加聲網的註冊監聽視頻幀的方法 agoraRegisterVideoFrameObserver(RCDVideoFrameObserver::sharedObserver(), false, true);ide
二。RCDVideoFrameObserver.mm文件中若是上述方法中添加了監聽那麼這個方法就能夠捕捉到視頻幀,視頻幀數據格式是yuv420p格式的。 視頻
三。對捕捉的視頻幀處理。server
使用了AiyaEffectSDK的sdk地址:https://gitee.com/wangyng/AiyaEffectsWithAgoraIOS/tree/master ,這個sdk須要去官網註冊一個 license才能使用美顏,否則沒效果喲。blog
這個sdk大概的處理是先對 yuv420P->ARGB->美顏處理->ARGB->420Pget
代碼大體以下圖: 直播
該庫提供了 美顏,瘦臉 ,大眼,特效等功能。。ok就這樣吧。若是誰有免費的美顏方法麻煩提供下 多謝了。it