我想写一个相机应用程序,使用iPhone的相机录制视频,但我找不到改变录制视频帧率的方法。例如,我想以每秒25帧而不是默认值30录制。如何在iPhone上录制视频时设置帧速率?
是否可以以任何方式设置此帧速率,如果是,如何?
我想写一个相机应用程序,使用iPhone的相机录制视频,但我找不到改变录制视频帧率的方法。例如,我想以每秒25帧而不是默认值30录制。如何在iPhone上录制视频时设置帧速率?
是否可以以任何方式设置此帧速率,如果是,如何?
据我所知,您不能设置FPS进行录制。查看AVFoundation的WWDC 2010视频。这似乎表明,只要我可以说,只能用于捕获帧数据。
我很想被证明是错误的,但我敢肯定,你不能。抱歉!
您可以使用AVCaptureConnection的videoMaxFrameDuration和videoMinFrameDuration属性。见http://developer.apple.com/library/ios/#DOCUMENTATION/AVFoundation/Reference/AVCaptureConnection_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40009522
此外,还有一个问题,SO,解决这个(具有良好的代码示例): I want to throttle video capture frame rate in AVCapture framework
您需要AVCaptureDevice.h
这里在这里工作代码:
- (void)attemptToConfigureFPS
{
NSError *error;
if (![self lockForConfiguration:&error]) {
NSLog(@"Could not lock device %@ for configuration: %@", self, error);
return;
}
AVCaptureDeviceFormat *format = self.activeFormat;
double epsilon = 0.00000001;
int desiredFrameRate = 30;
for (AVFrameRateRange *range in format.videoSupportedFrameRateRanges) {
NSLog(@"Pre Minimum frame rate: %f Max = %f", range.minFrameRate, range.maxFrameRate);
if (range.minFrameRate <= (desiredFrameRate + epsilon) &&
range.maxFrameRate >= (desiredFrameRate - epsilon)) {
NSLog(@"Setting Frame Rate.");
self.activeVideoMaxFrameDuration = (CMTime){
.value = 1,
.timescale = desiredFrameRate,
.flags = kCMTimeFlags_Valid,
.epoch = 0,
};
self.activeVideoMinFrameDuration = (CMTime){
.value = 1,
.timescale = desiredFrameRate,
.flags = kCMTimeFlags_Valid,
.epoch = 0,
};
// self.activeVideoMinFrameDuration = self.activeVideoMaxFrameDuration;
// NSLog(@"Post Minimum frame rate: %f Max = %f", range.minFrameRate, range.maxFrameRate);
break;
}
}
[self unlockForConfiguration];
// Audit the changes
for (AVFrameRateRange *range in format.videoSupportedFrameRateRanges) {
NSLog(@"Post Minimum frame rate: %f Max = %f", range.minFrameRate, range.maxFrameRate);
}
}
这太烂了:(这里欧罗巴我们不想记录30帧/秒,所以我想改变它到25 :(流血苹果 – Tammo 2010-12-19 22:49:31
你绝对可以改变记录的FPS。下面的代码。 – Praxiteles 2015-07-14 22:31:45
https://github.com/shu223/SlowMotionVideoRecorder – 2015-07-28 12:00:20