对于直接吧GPUImage拖入工程我更倾向于把libGPUImage打包成静态库。
打包方法和ijkplayer播放器的打包方式是一样的。
最后我们需要把所有的.h文件加入到工程里边。
创建视频类型的相机:
//相机初始化
videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionFront];
//自动变焦
if([videoCamera.inputCamera isFocusModeSupported:AVCaptureFocusModeContinuousAutoFocus]){
if([videoCamera.inputCamera lockForConfiguration:nil]){
videoCamera.inputCamera.focusMode = AVCaptureFocusModeContinuousAutoFocus;
}
}
//初始化美颜滤镜
NBGPUImageBeautifyFilter *beautifyFilter = [[NBGPUImageBeautifyFilter alloc] init];
[videoCamera addTarget:beautifyFilter];
//采集视频注意点:要设置采集竖屏,否则获取的数据是横屏
videoCamera.outputImageOrientation = UIInterfaceOrientationPortrait;
///这些属性确定两个摄像机方向是否应该镜像。 默认情况下,两者均为NO。
videoCamera.horizontallyMirrorFrontFacingCamera = NO;
videoCamera.horizontallyMirrorRearFacingCamera = NO;
videoCamera.delegate = self;
需要实现代理GPUImageVideoCameraDelegate用于在回掉中取得CMSampleBufferRef做视频流处理