EDIT: In the meantime, I've published a FULL article on all these questions. Please check out http://forums.macrumors.com/showthread.php?t=1602171 . I only keep my now-outdated posts here for historical reasons. That is, you do NOT want to read this thread - it's outdated.
Old post:
----
Guys, as far as my original post is concerned (see below), I was wrong, fortunately. I've just blindly assumed selecting the 720p60 fps mode (the 13/14th element in the AVCaptureDeviceFormat array returned by AVCaptureDevice.formats) will also shoot at the maximal 60 fps. Nope, it needs to be manually enforced too:
videoDevice.activeVideoMaxFrameDuration = CMTimeMake(1,60);
where videoDevice is:
AVCaptureDevice *videoDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
(the activeVideoMaxFrameDuration property, along with AVCaptureDevice.formats, is iOS7+ only. activeVideoMaxFrameDuration should be preferred to the now-deprecated AVCaptureConnection.setVideoMaxFrameDuration / setVideoMinFrameDuration)
I've uploaded a program freely compilable & deployable app shooting in any configurable mode (it also displays them) to https://dl.dropboxusercontent.com/u/81986513/062013/ios7b1-60fps.zip
I didn't bother implementing a GUI to start / stop recording or touch-to-focus. Currently, it starts recording as soon as you start the app and stops it after 7 seconds. (Settable in [NSTimer scheduledTimerWithTimeInterval:7.0 target:self selector
selector(onTimerExpired) userInfo:nil repeats:NO]; ) Feel free to use it. Also feel free to tell me if you don't know how a controller GUI should be implemented and, if and only if I have some free time, release a more complete version actually usable in everyday shooting.
Original post (outdated, only kept for historical purposes):
Guys, a quick heads-up as a lot of you have asked me (the developer of several video enhancer JB tweaks) for info on this:
- on the iPhone 5, the low-resolution 720p60 mode is available theoretically. (Low resolution, as has been explained in my past articles and forum posts - for example, the second half of http://forums.macrumors.com/showpost.php?p=16749279&postcount=7 - here, means halved vertical resolution. That is, it's 360 rows only.) It is listed as a working one and no exception is thrown when set it as the video mode to use from a third-party app. (From the stock Camera app, you can only record at 1080p30. There are no 60p modes listed for 1080p.)
- it doesn't actually record at 60 fps either. The recorded footage is 30p. However, it surely is binned as the vertical resolution, compared to the stock 30p 720p mode, is halved.
That is, don't expect miracles, at least not on current hardware. The 5S, on the other hand, may be able to record even 1080p60. Hopefully it will.
In 1-2 days, I'll come up with a complete elaboration on both this (along with an actual demo app you can deploy on your iPhone to recordin in the two 60p modes yourself) and the multitasking enhancements.
Old post:
----
Guys, as far as my original post is concerned (see below), I was wrong, fortunately. I've just blindly assumed selecting the 720p60 fps mode (the 13/14th element in the AVCaptureDeviceFormat array returned by AVCaptureDevice.formats) will also shoot at the maximal 60 fps. Nope, it needs to be manually enforced too:
videoDevice.activeVideoMaxFrameDuration = CMTimeMake(1,60);
where videoDevice is:
AVCaptureDevice *videoDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
(the activeVideoMaxFrameDuration property, along with AVCaptureDevice.formats, is iOS7+ only. activeVideoMaxFrameDuration should be preferred to the now-deprecated AVCaptureConnection.setVideoMaxFrameDuration / setVideoMinFrameDuration)
I've uploaded a program freely compilable & deployable app shooting in any configurable mode (it also displays them) to https://dl.dropboxusercontent.com/u/81986513/062013/ios7b1-60fps.zip
I didn't bother implementing a GUI to start / stop recording or touch-to-focus. Currently, it starts recording as soon as you start the app and stops it after 7 seconds. (Settable in [NSTimer scheduledTimerWithTimeInterval:7.0 target:self selector
Original post (outdated, only kept for historical purposes):
Guys, a quick heads-up as a lot of you have asked me (the developer of several video enhancer JB tweaks) for info on this:
- on the iPhone 5, the low-resolution 720p60 mode is available theoretically. (Low resolution, as has been explained in my past articles and forum posts - for example, the second half of http://forums.macrumors.com/showpost.php?p=16749279&postcount=7 - here, means halved vertical resolution. That is, it's 360 rows only.) It is listed as a working one and no exception is thrown when set it as the video mode to use from a third-party app. (From the stock Camera app, you can only record at 1080p30. There are no 60p modes listed for 1080p.)
- it doesn't actually record at 60 fps either. The recorded footage is 30p. However, it surely is binned as the vertical resolution, compared to the stock 30p 720p mode, is halved.
That is, don't expect miracles, at least not on current hardware. The 5S, on the other hand, may be able to record even 1080p60. Hopefully it will.
In 1-2 days, I'll come up with a complete elaboration on both this (along with an actual demo app you can deploy on your iPhone to recordin in the two 60p modes yourself) and the multitasking enhancements.
Last edited: