Software: overlapping exposure video

Latest version: 1.2 (26/09/2013) better performance, new funktion "average brightness" for adding images
Other versions: 1.1 (29/5/2013) Uses full Quad-Core-CPU power in "VidSpecial2Quad" mode; progress bar
1.0 (13/05/2013)

sample video: Munich - City of Lights

This small programm offers 2 different modes to convert normal videos into videos with special exposure effects as you can see in "Munich - City of Lights". It is implemented in Java, so it should run on every platform (of course Java SDK is required). (Download-Link on the left of this page)

Here is a short manual:

Step 1

Select the folder in which the video on that the effect should be applied is stored. The video has to be stored as PNG image sequence, named "1.PNG" , "2.PNG" , "3.PNG" , ... All images must have the same resolution! (I use Adobe Premiere to export videos as PNG sequence and rename them with Joe)
(The button "Apply and show first image" is only necessary if you typed in the folders path instead of klicking on source and choosing it with the FileChooser window)

Step 2

Select the folder in which the result video will be saved. (Also as PNG image sequence).

Step 3: Mode

This programm offers 3 modes. The first ("Head") adds the inputed image sequence to one image.

The second ("Vid") creates the type of video effects where you can see a long exposed image growing in the video:

The third ("VidSpecial2Quad") makes a video, in that the exposures of the single frames are overlapping each other (exposure time is lager than frame rate).

Step 4

You can choose different ways how to calculate one pixels brightness.

Step 5

Type in the amount of input frames and validate with Enter!

(Step 6: only for "VidSpecial2Quad" - mode)

Number of input frames that will be added to create the new frames (larger number => the "lights become longer"). Don't forget to validate this with Enter, too!

Step 7: Press Start

The first modes are working quite fast, the last mode needs much more time to calculate (depends a lot on the value inputed in step 6!). To make it faster I splitted up this task into 4 Threads, so Java can use all cores of Dual- and Quad-Core CPUs. Maybe I'll work an a better algorithm for this job next time ;)
Poorly I've not implemented an PrintStream so that you can see Exceptions and Errors in the textfield below (where you can see the progress when running). So, if there are any errors or exceptions while running, you won't get any error-messages.

Additional tipps

When taking videos to be processed with this programm, you should use shutter speeds that are (nearly) as large as the frame rate, cause otherwise there will be gaps in the light-lines you get.
E.g. when you record at 25 fps, your shutter speed should be 1/25 sec if possible. But in most cases its impossible to set shutter speed = frame rate.
For my videos I used an Canon eos 600d which runs on Magic Lantern firmware. With Magic Lantern you got the possibility to set framerates and shutter speeds nearly as you want. I recommend setting the framerate to 6fps and shutterspeed 1/6 sec. (When you set it to 1/6 sec the camera records with about 1/6.1 sec, what is close enough so that you won't see any gaps)

Maybe I'll make a tutorial on this programm and the effects you can create with it, when there is interest in. If you got ideas, questions, videos you created using this programm or anything else let me know ;)
E-Mail:, visit my T&F photography main page