有没有办法在swift中使用AVCaptureSession对象逐帧获取?

时间:2016-02-07 15:51:41

标签: ios swift avfoundation avcapturesession

我必须使用我的c ++函数处理由iPhone相机捕获的帧。所以我使用startRunning()函数来启动数据流,但是我可以用什么方式处理每个帧?

2 个答案:

答案 0 :(得分:4)

是的,这很简单。你需要

  1. 创建AVCaptureVideoDataOutput对象以生成视频帧
  2. 为AVCaptureVideoDataOutput对象实现委托以处理视频帧
  3. 在委托类中,实现在写入样本缓冲区时调用的方法(captureOutput:didOutputSampleBuffer:fromConnection:)。
  4. 有关详细信息,请参阅“AVFoundation编程指南”read this part。代码示例在Objective-C中并不是很快,但我认为你明白了。

答案 1 :(得分:1)

我创建了一个可以帮助你的类:CameraCaptureHelper包装所有AVFoundation的东西,并在其委托上调用一个方法,在每个帧中传递CIImage