我正在尝试处理回调didOutputSampleBuffer
返回的相机帧,我想要一个高帧率来捕捉图像中的突然变化(就像闪光灯一样)。调用回调的速率似乎与为连接设置的帧速率无关。即使我通过videoOut.minFrameDuration = CMTimeMake(1, 60);
将帧速率设置为60,两个连续的didOutputSampleBuffer之间的间隔似乎在60-80mS左右(帧速率约为17-12fps。为什么会这样?是否可以增加它?
答案 0 :(得分:0)
看起来我找到了问题的答案。基本上,帧速率受用于选择图像分辨率的预设影响。因此,对于1MP分辨率,与8MP等相比,您可以获得更快的帧速率。因此,即使您尝试将minFrameDuration设置为160,硬件也会根据您的分辨率设置为您提供所需的分辨率设置,可能是15或更低的fps。
因此,要增加FPS,请降低分辨率并增加minFrameDuration属性。