Я работаю над приложением для iOS, и в моем приложении есть функция замедленной записи. Я пытался записывать со скоростью 240 кадров в секунду, но fps записанного видео не 240. fps видео, записанного с помощью iPhone 6, составляет 163. fps видео, записанного с помощью iPhone 7, составляет 213.
Я не уверен, почему fps видео записывается с помощью iPhone6 ниже, чем iphone7. iPhone 6 имеет возможность записи 240 кадров в секунду.
Вот фрагмент кода, который я использовал для установки minFrameDuration и maxFrameDuration устройства захвата.
AVCaptureDevice *videoDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
for (AVCaptureDeviceFormat *format in [videoDevice formats]) {
AVFrameRateRange *range = [format.videoSupportedFrameRateRanges firstObject];
NSLog(@"max fps = %f", range.maxFrameRate);
if (range.maxFrameRate == 240) {
NSError *err;
if ([videoDevice lockForConfiguration:&err]) {
if (err == NULL) {
videoDevice.activeFormat = format;
NSLog(@"min frame duration = %f, max frame duration = %f", CMTimeGetSeconds(range.minFrameDuration), CMTimeGetSeconds(range.maxFrameDuration));
videoDevice.activeVideoMinFrameDuration = range.minFrameDuration;
videoDevice.activeVideoMaxFrameDuration = range.minFrameDuration;//range.maxFrameDuration;
[videoDevice unlockForConfiguration];
} else {
NSLog(@"error = %@", err.localizedDescription);
}
}
}
}
Что-то пошло не так в моем коде? Я пытался погуглить, чтобы решить эту проблему, но не нашел рабочего ответа.
Буду признателен, если кто-нибудь мне поможет.
Спасибо