Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Menneisyys2

macrumors 603
Original poster
Jun 7, 2011
6,003
1,105
Great. Are those three points above at an aspect ratio of 4:3 and with steady shot turned off possible ?

Yup, all 4:3 and IS-less because IS would use the outer 10% rim of the sensor for stabilization, making the FoV much narrower (=the image "zoomed in").
 

AndyAndoo

macrumors newbie
Apr 9, 2012
10
0
New York City
Yup, all 4:3 and IS-less because IS would use the outer 10% rim of the sensor for stabilization, making the FoV much narrower (=the image "zoomed in").

Hey I applied your hack to a 5s. Great job!

Is there any way to lock the frame-rate so it doesn't decrease in low light? - In my instance, I will be shooting outdoors, at night, with a decent amount of artificial light but I can't take any chances on the frame-rate dropping as low as 15fps. I'd rather have an underexposed shot than a shot at 15fps.
 

Menneisyys2

macrumors 603
Original poster
Jun 7, 2011
6,003
1,105
Hey I applied your hack to a 5s. Great job!

Thanks!

Is there any way to lock the frame-rate so it doesn't decrease in low light? - In my instance, I will be shooting outdoors, at night, with a decent amount of artificial light but I can't take any chances on the frame-rate dropping as low as 15fps. I'd rather have an underexposed shot than a shot at 15fps.

Unfortunately, it doesn't seem to be a way to force the camera NOT to lower the framerate to gather as much light as possible.

I've tested this with the following third-party app (source code): https://dl.dropboxusercontent.com/u/81986513/032014/VideoZoomerWithEISSwitch-forcedminframerate.zip

This app is a slight modification of my app at https://forums.macrumors.com/threads/1650890/ . It, instead of setting a video mode (AVCaptureDevice.activeFormat), has the following assignments in startVideoRecording():

videoDevice.activeVideoMinFrameDuration = CMTimeMake(1,30);
videoDevice.automaticallyEnablesLowLightBoostWhenAvailable = YES;


The first assignment would force the system to raise the minimal framerate to 30 fps; the second, which only works on the 5/5c, enables high ISO (that is, ISO values over 800). I've configured the default mode to be VGA via my separate bitrate setter & default mode switcher tweak at https://forums.macrumors.com/showthread.php?p=18811094 ; this is why the source code above doesn't directly set the video mode (the above-mentioned activeFormat) to shoot in, but uses the system default, which, when using my tweak, can be switched to anything. In this case, I've used VGA recording so that the hardware of the iPhone 5 can keep up (unlike with my 1664*1224 tweaked, oversampled mode).

Unfortunately, neither of them works on any iDevices when shooting video in low-light. If you do force the system to shoot with the min. framerate of 30 fps in a third-party app like mine, it won't do it - it'll reduce the framerate. (With VGA recording, to around 20 fps.) And, if it's at all supported on the given platform (again, it's not supported on the 5s, only on the 5 and the 5c), enabling high ISO doesn't have any effect on low-light video shooting at all - only when you shoot stills.

All in all, there doesn't seem to be any way of doing what you ask for. It's prolly the best to get, say, the new Sony RX10 because, thanks to its full sensor oversampling, it produces way better-resolution and brighter, less noisy image in low light than most other cameras out there - and also has some excellent optical image stabilizer. At least, now that the RX10 is out, I'll get it to, finally, have excellent low-light performance and resolution in a "standard" digital camera.
 

Menneisyys2

macrumors 603
Original poster
Jun 7, 2011
6,003
1,105
Unfortunately, it doesn't seem to be a way to force the camera NOT to lower the framerate to gather as much light as possible.

I've just finished playing with two dictionary entries in the AVCaptureSession.plist file:

AVCaptureDevices[0] > AVCaptureSessionPresetCommon > LiveSourceOptions > MinFrameRate and TemporalNoiseReductionMode.

The default values of these are 20 and 10, respectively.

Raising the former to 30 had no effect on the VGA recording made straight in the stock Camera app: under bad light, it consistently recorded with around 20.05 fps, while under good light, it always deliver 29.97 fps.

Changing TemporalNoiseReductionMode from 10 to 0, 1 and 2 and, finally, deleting the entire entry didn't change the framerate, either.

Finally, I've played with an added "Binned" Boolean entry to AVCaptureDevices[0] > AVCaptureSessionPreset640x480 > LiveSourceOptions. Setting either NO or YES had absolutely no effect on the framerate / low-light performance. (Of course, binned mode didn't work with high resolutions in my earlier tests. I just wanted to know whether changing it has any effect on VGA recording in iOS7.) Attached are two framegrabs of the two videos; the upper bar of VLC shows which mode was currently enabled.

All in all, I don't know of any way of forcing iOS to shoot at 29.97 fps even in bad lighting, on the expense of exposure (which, in post processing, could be increased if framerate is more important than the signal-to-noise ratio / dynamic range.). Neither the third-party (API) way nor the direct AVCaptureSession.plist hacking way seem to work. Sorry.
 

Attachments

  • Screen Shot 2014-03-31 at 10.54.29 PM.png
    Screen Shot 2014-03-31 at 10.54.29 PM.png
    383.3 KB · Views: 212
  • Screen Shot 2014-03-31 at 10.54.40 PM.png
    Screen Shot 2014-03-31 at 10.54.40 PM.png
    385.3 KB · Views: 213

Menneisyys2

macrumors 603
Original poster
Jun 7, 2011
6,003
1,105
Here are the initial results of applying your hack. The video is cropped and re-rendered to fit 1920x1248: Still figuring out proper dimensions..

Note that, as the native aspect ratio of the iPhone sensor is 4:3, my tweak also records a 4:3 file - after all, it's making use of all pixels on the sensor, not throwing away any of the information. (Unlike shooting in the 16:9 mode, which heavily crops the bottom / top screen area and, because of the implementation, also the right / left one.)

That is, I don't really think one would want to crop it, unless you're absolutely sure you don't need the bottom / top area.
 

quaresma

macrumors regular
Jan 20, 2013
198
320
Maybe I missed it, but is the "vidcam Wideangle tweak 1.6" the latest? I remember using this tweak on the iPhone 5 on ios 7.0.1 (have a 5s now). It's just the name that changed?

EDIT: What's the advantage for 5s owners? Will the wide mode function without reduced fps? That's the only thing I want: wider FOV but same fps as before
 
Last edited:

Menneisyys2

macrumors 603
Original poster
Jun 7, 2011
6,003
1,105
Just finished testing: the current (1.6) version is fully compatible with iOS 7.1.1.

----------

Maybe I missed it, but is the "vidcam Wideangle tweak 1.6" the latest? I remember using this tweak on the iPhone 5 on ios 7.0.1 (have a 5s now). It's just the name that changed?

Yup,

1, 1.6 is the current one.
2, I changed the name in January to reflect the main aim of the app (to provide for oversampling the entire sensor and saving the footage in a 4:3 video file to avoid any kind of sensor cropping).

EDIT: What's the advantage for 5s owners? Will the wide mode function without reduced fps? That's the only thing I want: wider FOV but same fps as before

Only outdoors will it produce almost-30 fps framerates. Indoors, the framerate will drop. Nothing can be done about this.
 

iknotum

macrumors newbie
Sep 30, 2014
2
0
How can I install your WideAngle tweak on my iPad 3?

I have an iPad 3 WiFi model with iOS 7.1.2,

The folder in MediaToolbox.framework is J1.

When I try to install it it says hardware incompatible.

Can you help me?
 

hwntw

macrumors newbie
Nov 2, 2014
1
0
ios8

version 1.6 on iphone 4s ios 8.1 works initially, but soon stops working and all apps attempting to use the camera crash on launching
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.