Добавьте следующую строку
output.minFrameDuration = CMTimeMake(5, 1);
под комментарием
// If you wish to cap the frame rate to a known value, such as 15 fps, set
// minFrameDuration.
, но над
[session startRunning];
Редактировать
Используйте следующий код для предварительного просмотра выходных данных камеры.
AVCaptureVideoPreviewLayer *previewLayer = [AVCaptureVideoPreviewLayer layerWithSession:session];
UIView *aView = self.view;
CGRect videoRect = CGRectMake(0.0, 0.0, 320.0, 150.0);
previewLayer.frame = videoRect; // Assume you want the preview layer to fill the view.
[aView.layer addSublayer:previewLayer];
Редактировать 2: Хорошо, хорошо ..
Apple предоставила способ установки minFrameDuration здесь
Итак, теперь используйте следующий код для установки длительности кадра
AVCaptureConnection *conn = [output connectionWithMediaType:AVMediaTypeVideo];
if (conn.supportsVideoMinFrameDuration)
conn.videoMinFrameDuration = CMTimeMake(5,1);
if (conn.supportsVideoMaxFrameDuration)
conn.videoMaxFrameDuration = CMTimeMake(5,1);