有没有办法快速使用 AVCaptureSession 对象逐帧获取?

alb*_*pod 5 avfoundation ios avcapturesession swift

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

Wae*_*air 8

是的,这是非常直接的。你需要

  1. 创建一个 AVCaptureVideoDataOutput 对象来生成视频帧
  2. 为 AVCaptureVideoDataOutput 对象实现一个委托来处理视频帧
  3. 在委托类中,实现写入样本缓冲区时调用的方法 ( captureOutput:didOutputSampleBuffer:fromConnection: )。

有关更多信息,您可以阅读AVFoundation 编程指南的这一部分。代码示例在 Objective-C 中并不迅速,但我认为您明白了。