iOS 对YUV420P数据美颜

最近在弄视频直播的的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

相关文章
相关标签/搜索