フルHDまたはHD画質でカスタムカメラを撮っています。問題は後に、私は次のコードを25のフレームにカメラを設定することです:iOSで25フレーム/秒でビデオを録画
- (void) setFrameRate:(AVCaptureDevice*) camera {
NSError *error;
if (![camera lockForConfiguration:&error]) {
NSLog(@"Could not lock device %@ for configuration: %@", camera, error);
return;
}
AVCaptureDeviceFormat *format = camera.activeFormat;
double epsilon = 0.00000001;
int desiredFrameRate = 25;
for (AVFrameRateRange *range in format.videoSupportedFrameRateRanges) {
if (range.minFrameRate <= (desiredFrameRate + epsilon) &&
range.maxFrameRate >= (desiredFrameRate - epsilon)) {
[camera setActiveVideoMaxFrameDuration:CMTimeMake(10, desiredFrameRate*10)];
[camera setActiveVideoMinFrameDuration:CMTimeMake(10, desiredFrameRate*10)];
break;
}
}
[camera unlockForConfiguration];
}
私はこの方法で設定したようですが、ビデオFPSを変更ではなく、正確に毎秒25のフレーム。毎秒23.93フレームと25.50フレームの間で変動します。 誰もがその理由を知っていますか?