0

我正在尝试处理回调返回的相机帧didOutputSampleBuffer,并且我想要高帧率来捕捉图像中的突然变化(如闪光灯熄灭)。调用回调的速率似乎与为连接设置的帧速率无关。即使我将帧速率设置为 60 via videoOut.minFrameDuration = CMTimeMake(1, 60);,两个连续的 didOutputSampleBuffer 之间的间隔似乎在 60 - 80mS 左右(这是大约 17 - 12fps 的帧速率。为什么会这样?是否可以增加它?

4

1 回答 1

0

看起来我已经找到了问题的答案。基本上,帧速率受用于选择图像分辨率的预设的影响。因此对于 1MP 分辨率,您可以获得比 8MP 等更快的帧速率。因此,即使您尝试将 minFrameDuration 设置为 160,硬件也会根据您的分辨率设置(可能为 15 或更低的 fps)为您提供所能提供的功能。

因此,要增加 FPS,请在增加 minFrameDuration 属性的同时降低分辨率。

于 2012-11-26T11:24:27.580 回答