iOS5+ compliant version of my iPhone 3GS video camera enhancer released (full source)

I've constantly been receiving requests for the iOS5+ compliant version of my iOS 4-only iPhone 3G S / 4 video camera enhancers (latest, dedicated article). This tool is still unique in that it's the only GUI-based tool (read: no need for manual plist copying) to quickly and easily do the following:

- change the video bitrate to allow for, for example, long-time recordings using low bitates

- change to the special resolution of 1080*800, which does deliver considerably better resolution than the default 640*480.

Note that, while I heartily recommend the (commercial ($1), closed-source) CameraTweak (latest, dedicated article) for iPhone 3GS users (too), it's unable to do any of the above. (However, it's able to quickly switch between the, in both directions, halved-resolution of 352*288 and the default 640*480 and has a lot of other goodies. That is, I still recommend it for what it's capable of.)

Let me present the result of my today's work: the full sources of the, now, iOS5-compliant (hope it's also compatible with iOS 6 – dunno as I haven't upgraded my 3GS to it) version of my 3GS enhancer.

All you need to do is compile the sources for your own iPhone. (If you don't have a paid developer account, ask a friend that has.) Note that you'll also need to grant write access to the file (/System/Library/PrivateFrameworks/ MediaToolbox.framework/N88/AVCaptureSession.plist) and its enclosing directory (/System/Library/PrivateFrameworks/ MediaToolbox.framework/N88/) before being able to use the app. With, say, iFile, it's really easy (of course, you can also SSH to the device from a desktop and use “chmod” with the terminal). As with the iOS4-specific version, the app will tell you if it can't patch the file – that is, you'll see at once if you don't succeed in changing the permissions of the file / directory.

I'm not sure whether I'll create a Cydia distro package of the project as packaging & testing it takes considerable time and I'd like to spend it on more important and even more asked-for hacks (namely, the iPhone 4 / 4S tweaks I've long been promising). Nevertheless, if you in no way can deploy the sources on your iPhone 3G S (you don't have any friends with a dev account), let me know. If I receive more than, say, five requests for the easy-to-deploy Cydia version, I'll create it.

I've thoroughly tested the default “Simple” mode and found both the default VGA and the “Full” mode flawless. So are the pre-set bitrate settings – I've tested most of them.


- interestingly, I haven't noticed the infamous “clicking” in the full resolution mode at all. It might have been iOS4-specific only, dunno. This means the high-resolution mode is perfectly usable and should always be preferred – as opposed to the iOS4 times. (Please report back if you encounter any “clicks”!)

- restoring the original configuration (the uppermost button on the “Simple view” tab) doesn't work.

- I haven't tested the “Advanced view” tab.

Resolution chart tests

In addition to long-time full resolution tests to find out whether the iPhone 3G S can record reliably, without audio/video desycnhing etc. issues even using the highest settable bitrate using my custom Full resolution mode for 20 minutes (it can), I've also run some resolution chart tests to make sure the Full resolution mode indeed delivers superior resolution to the VGA mode.

It does: just compare the following resolution chart crop to the one next to it (click the crops for the original, full version of the framegrab made from the reschart video I shot!):


Master your iPhone in one minute a day:

Sign up to iPhone Life's Tip of the Day Newsletter and we'll send you a tip each day to save time and get the most out of your iPhone or iPad.

Which of the two do you think has been made in Full resolution mode? Surely you've guessed right: the first one. While it in no way delivers as good results as the iPhone 4 / 4S, the “Full resolution” mode is considerably superior to the default VGA mode. Again: if you don't encounter “clicks” and the associated one-second-freezes, you should now always prefer the hi-res mode to the default VGA one.

The sources

They're HERE. Just compile with Xcode and deploy on your iPhone 3G S. It'll work right away – assuming you manually make the above-mentioned file/directory writable for the entire world.

Master your iPhone in one minute a day: Sign up here to get our FREE Tip of the Day delivered right to your inbox.

<p>Werner Ruotsalainen is an iOS and Java programming lecturer who is well-versed in programming, hacking, operating systems, and programming languages. Werner tries to generate unique articles on subjects not widely discussed. Some of his articles are highly technical and are intended for other programmers and coders.</p>
<p>Werner also is interested in photography and videography. He is a frequent contributor to not only mobile and computing publications, but also photo and video forums. He loves swimming, skiing, going to the gym, and using his iPads. English is one of several languages he speaks.</p>