2012-11-25 49 views
0

我正在嘗試處理回調didOutputSampleBuffer返回的相機幀,並且我想要高幀率捕捉圖像中的突然變化(如閃光燈熄滅)。調用回調的速率似乎與連接的幀速率無關。即使我通過videoOut.minFrameDuration = CMTimeMake(1, 60);設置幀速率爲60,兩個連續的didOutputSampleBuffer之間的間隔似乎在60-80mS左右(這是一個大約17-12fps的幀速率。爲什麼會這樣?是否有可能增加它?是否可以更改didOutputSampleBuffer委託被調用的速率?

回答

0

看起來好像我已經找到了問題的答案,基本上幀速率受到用於選擇圖像分辨率的預設值的影響,因此對於1MP分辨率,與8MP或更高幀速率相比,您可以獲得更快的幀速率所以即使你嘗試設置minFrameDuration爲160,硬件也會根據你的分辨率設置給出你的分辨率設置,這可能是fps爲15或者更低

所以要增加FPS,降低分辨率同時增加minFrameDuration屬性

相關問題