我已经准备好在 AVFoundation 上录制视频(对于 Mac 而不是 iOS),我可以通过 AVCaptureVideoPreviewLayer 获得视频预览,我还可以捕获静止图像但是我无法从视频输出中获取样本缓冲区,我需要这个,因为我需要比预览层支持的进一步编辑。
下面的代码是我目前正在使用的代码,当调用 imageBuffer 时创建得很好,但是当我尝试将其导出到 CIImage 时,CIImage 仍然为零。任何帮助将不胜感激。
- (void)captureOutput:(AVCaptureOutput *)captureOutput
didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer
fromConnection:(AVCaptureConnection *)connection
{
CVImageBufferRef imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer);
CIImage *ciImage = [[CIImage alloc] initWithCVImageBuffer:imageBuffer];
}