多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
视频通话界面的ViewDidLoad调用下面的方法 ``` - (void)initCapturer { #pragma mark Capturer self.videoConfig = AGMCapturerVideoConfig defaultConfig]; self.videoConfig.videoSize= CGSizeMake(480, 640); self.videoConfig.sessionPreset= AGMCaptureSessionPreset480x640; self.videoConfig.fps= 15; self.cameraCapturer = [[AGMCameraCapturer alloc] initWithConfig:self.videoConfig]; self.videoAdapterFilter = [[AGMVideoAdapterFilter alloc] init]; self.videoAdapterFilter.ignoreAspectRatio= YES; self.videoAdapterFilter.isMirror= NO; #pragma mark push pixelBuffer __weaktypeof(self) weakSelf = self; [self.cameraCaptureraddVideoSink:self.videoAdapterFilter];         #define DEGREES_TO_RADIANS(x) (x * M_PI/180.0) CGAffineTransform rotation = CGAffineTransformMakeRotation( DEGREES_TO_RADIANS(90)); self.videoAdapterFilter.affineTransform = rotation; [self.videoAdapterFiltersetFrameProcessingCompletionBlock:^(AGMVideoSource* _NonnullvideoSource, CMTime time) { CVPixelBufferRef pixelBuffer = videoSource.framebufferForOutput.pixelBuffer; [weakSelf.beautyManager processAgoraWithPixelBuffer:pixelBuffer]; [weakSelf.consumer consumePixelBuffer:pixelBuffer withTimestamp:time rotation:AgoraVideoRotationNone]; }]; } ```