對于直接吧GPUImage拖入工程我更傾向于把libGPUImage打包成靜態(tài)庫。
打包方法和ijkplayer播放器的打包方式是一樣的猫十。
最后我們需要把所有的.h文件加入到工程里邊。
創(chuàng)建視頻類型的相機(jī):
//相機(jī)初始化
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];
//采集視頻注意點:要設(shè)置采集豎屏激涤,否則獲取的數(shù)據(jù)是橫屏
videoCamera.outputImageOrientation? ? ? ? ? ? ? = UIInterfaceOrientationPortrait;
///這些屬性確定兩個攝像機(jī)方向是否應(yīng)該鏡像微王。 默認(rèn)情況下,兩者均為NO兼耀。
videoCamera.horizontallyMirrorFrontFacingCamera = NO;
videoCamera.horizontallyMirrorRearFacingCamera? = NO;
videoCamera.delegate = self;
需要實現(xiàn)代理GPUImageVideoCameraDelegate用于在回掉中取得CMSampleBufferRef做視頻流處理