EOSTimerGen

EOSTimerGen is a tool for Magic Lantern users (mldev, Wiki) that want to

a) over/undercrank the camera (to get higher or lower frame rates)
b) fine tune their frame rate to overcome production tolerances
c) synchronize two or more cameras to have nearly the same rate

This tool is not tested yet, I hope that somebody will give it a try and inform me about the resultsĀ  :)

 

How to use:

Custom frame rates

When you start the tool, you have to select your camera model, like 600D, 5D Mark II, etc.
Right below it will auto-fill the internal clock frequency of your camera model.
The BaseFreq is model specific and should not be modified unless you know what you do :)

(if you change BaseFreq just for fun, the timer register values the tool spits out will be wrong)

 

Now you may enter the frame rate you want to have in “Desired FPS” field.
Please don’t enter silly values like 500 fps or such – your camera will just allow a few fps more – but will go down to less than 1 fps.

In this example I wanted to have 23.975 frames per seconds
23.976 would be 24 fps, but in this example I imply that my camera is 0.001 fps too fast and I wanted to fix that.

After you entered your frame rate and pressed “Generate”, you will get a list of the 20 best matches to your given rate.
Select the one that is closest to your desired rate. If you know your camera is “a little too slow” choose a higher rate.

In the right portion of the window, the tool will give you the timer values for being entered in MagicLantern.
All combinations in this window will produce the same frame rate, but not all will work.

Since somewhen in March 2012, ML experimental versions support manual frame rate timer manipulation.
Please check if your ML version is such an experimental versions. If not, get one from Alex’ test releases (follow @autoexec_bin on twitter).

Since the tool calculates timer values that may be too high or low for your camera model, try the “prefer” marked ones first.
They should work best on your camera.

Calibration:

In case you want to test the real frame rate of your camera or you want to synchronize two cameras (e.g. for 3D recording), this tool has some useful feature.

Click the “Calibrate Camera” button and anoter window will pop out.
Select your model and the video mode you have set currently. It makes sense to select the highest (standard) frame rate of your model e.g. 60 fps.

Now start recording the black rectangle in the window.

While you record, the tool displays some graphics. The only important one is the large white rectangle.
The duration between two large white rectangles will be 10.0000 seconds.
Well, it *should* be 10.0000 seconds, but its hard to make it that realtime. So I use the HighPerformanceCounter of your system to measure the time more exactly.
This time gets displayed right below the black window.

Now record this rectangle as long your camera(s) can. The more frames you get, the better the result.
If you want your camera(s) to be accurate enough to be less than one frame “off” per 10 minutes, you for sure have to record 30 minutes.

As said, record as long as you can and wait for the next white rectangle to blink, press stop in the dialog and then on your camera.
The time that passed between first and last rectangle will be auto-filled in the calculation fields on the left.

Open the video in your favorite editor, count the frames between the recangles and enter it in the dialog too.

Now the tool will show you a) the exact fps and b) the resulting “Base Frequency” your camera has.
This Base Frequency is the value that has to be entered in the main dialog where you can generate the timer values.

Of course you cannot expect that it will be exact down to 0.0001% if you recorded 30 minutes only.
e.g. 30 minutes * 60 seconds * 60 fps are 108000 frames.
Counting the frames between the rectangles is exact to maybe 2 frames.
So you can get around 0.002% accuracy – IF YOUR COMPUTER CLOCK IS THAT ACCURATE :)

I know that computer clocks are not that exact, but if you want to synchronize two cameras that doesn’t matter.

Well, if you have need for a exact frame rate, give it a try and tell me your opinion.