网易云信SDK遇到的坑

来源:互联网 发布:西门子真空管数据 编辑:程序博客网 时间:2024/04/29 19:41

网易云信最新的4.3的SDK 更新后 需求是在视频通话过程中接入美颜相关功能 大坑啊

我们都知道怎么接入官方提供的api

本地视频前处理

视频前处理,在视频帧发送前对其进行处理,包括美颜,水印,镜像,磨皮,对比度的设置。

  • 对视频美颜
- (void)selectBeautifyType:(NIMNetCallFilterType)type

参数 type 表示了美颜滤镜的类型

  • 设置磨皮强度
- (void)setSmoothFilterIntensity:(float)value
  • 设置对比度强度
- (void)setContrastFilterIntensity:(float)value
  • 设置视频预览镜像

设置预览镜像让本地视频看到的是镜像后的,后置摄像头不支持镜像:

- (void)setPreViewMirror:(BOOL)isMirrorOn
  • 设置视频编码镜像

设置编码镜像让拉流端视频看到的是镜像后的,后置摄像头不支持镜像:

- (void)setCodeMirror:(BOOL)isMirrorOn
  • 设置静态水印

传入图像,大小,位置来设置静态水印:

- (void)addWaterMark:(UIImage*)image                rect:(CGRect)rect            location:(NIMNetCallWaterMarkLocation)location
  • 设置动态水印

传入图像数组,大小,位置,播放时长,及是否循环来设置动态水印:

- (void)addDynamicWaterMarks:(NSArray*)imageArray                    fpsCount:(unsigned int)count                        loop:(BOOL)looped                        rect:(CGRect)rect                    location:(NIMNetCallWaterMarkLocation)location
  • 清除水印

SDK 提供了清除水印功能:

- (void)cleanWaterMark

本地视频截图

本地截图,截取自己下一帧待发送的画面

  • 对本地视频进行截图
- (void)snapshotFromLocalVideoCompletion:(void(^)(UIImage * __nullable image))result

result 为返回的截图结果,如果截图失败 result 中 image 为 nil。


这里在这提醒一下每次sdk更新最好是根据官方要求去做出相应的更新


视频通话过程中接入美颜功能代码在这个回调里

#pragma mark - NIMNetCallManagerDelegate


- (void)onLocalDisplayviewReady:(UIView *)displayView {

    if (_calleeBasy) {

        return;

    }

    if (self.localPreView) {

        [self.localPreViewremoveFromSuperview];

    }

    

    self.localPreView = displayView;

    displayView.frame = self.localView.bounds;


    [[NIMAVChatSDKsharedSDK].netCallManagerselectBeautifyType:NIMNetCallFilterTypeZiran];

    [[NIMAVChatSDKsharedSDK].netCallManagersetContrastFilterIntensity:1.2];

    [[NIMAVChatSDKsharedSDK].netCallManagersetSmoothFilterIntensity:0.6];

    

    

    [self.localViewaddSubview:displayView];

    

}


如果你直接这样接的话对于云信4.3的版本而言是不会达到你的实际要求的,关键在于

音视频视频采集参数  

NIMNetCallVideoCaptureParam 设置provideLocalVideoProcess 为开启状态,如果不开起美颜是不能达到效果的




阅读全文
0 0
原创粉丝点击