You can use the AVCaptureVideoOutput class and the above delegate method ( captureOutput:didOutputSampleBuffer:fromConnection: to get every live frame from the camera. From this frame you can create CIImage and make changes using Framework CoreImage; After that, simply output using the drawRect: method
source share