Deshaking Video: Using Freeware (Updated Jan,12)
Linus M | Software Techniques | Published Oct 2, 2011
What software do we need for "deshaking" videos without paying a dime for it?
Let´s start by downloading the well known and free video editing software "Virtual dub" from http://www.virtualdub.org/download.html
Then, the most important part to deshaking the Video: The deshaker plugin.
It can be download from http://www.guthspot.se/video/deshaker.htm
After downloading, place the Deshaker.vdf under the VirtualDub plugins directory and (re)start VirtualDub.
We also need a good video encoder like Divx, Xvid or for high quality my preferred option H.264.
First a few words on capturing Video in a way that makes it suitable for deshaking.
1 The steadier the original video, the easier the deshaking process and the fewer deshaking artifacts will be visible in the final Video.
2 Choosing the right shutter speed and zoom.
3 Avoid fast panning or quick zooming (which is the way to go for video in general)
4 Do not use in camera Digital image stabiliser!
How do we get (fairly) steady video if we do not have a tripod? Use a Camera with an OVF or EVF so you have an extra point of contact to stabilise the Camera. If you do not have an either of the two, try to stabilise the Camera with two hands and dont hold it too far away from your body. Move slow, real slow because any movement apears much faster when viewed on screen than it apeared when it was taken.
Choosing the right shutter speed is important because we have to avoid moton blur. Even so usualy it is somewhat desireable. (That is why we try to use 1/60 sek shutter speeds for 30p content) For deshaking we do not want motion blur. It will leave artifacts that are hard to impossible to remove.
Why not use the in camera digital image stabilisation? in general they degarade the final video more than deshaking in post processing will do. For examle the Olympus Micro 4/3 Cameras crop the Video slightly when the image stabiliser is engaged. So the resulting video looks less sharp. Also the "jello" effect is far more pronounced in this mode.
Talking of "jello": CCD sensors are easier to deshake because they have no rollong shutter and thus no jello.The deshaker plugin gives the option to reduce jello, though it is not entirely perfect. More on that later...
So, lets say we have a shaky Video like the ones below:
Now we have to open it in VirtualDub and chose the deshaker under Video> Filter >Add ,and there chose Deshaker v3.0. Then click >Configure
What settings are best to use? For a complete explanation read here:
Otherwise its good to start with the default settings. Well, at least "Scale" should be set to "full" and"Use Pixels" to "All" for best results. Now that the Video is loaded, run the analysing Pass1 by clicking on the Play0 button.
When Pass 1 is complete start Pass 2. This time the Video needs to be saved as usual under File> Save as. Before saving, a compression Codec has to be selected under Video> Compression.
Also we have to chose the Pass 2 settings to match the desired output. If the default "None" under " Edge Compensation" is used, the result looks like this:
This is of course not the result we are looking for. So lets choose a different setting. By using "Fixed Zoom" we get a cropped Video without borders:
In some cases the fixed zoom option might be a bit too much as in the surfing example above.
In these cases the "Adaptive Zoom" option might be used, since it will adjust the zoom level to match the scene. There are cases where this looks really strange but in some circumstances, like the example below, it works quite well.
Then again cropping might not be ideal in some circumstances. Especially since the video is less sharp through the reduced resolution. So after using "None" under "Edge Compensation" we can now check "Use previous and future frames to fill in borders". For the first Video below I used 90 future and 90 previous frames. Then I also chose to check the"Extrapolate Color into borders" box since still a few black borders were visible. So it is not without artefacts but still, the result is fine. The zoom factor could be increased slightly to get rid of all artefacts.
For the sample below I used 40 past and 40 future frames.
The smaller samples were made with a camera that emloys a CCD Sensor, so it has no rolling shutter "jello". For the other samples an Interchangeable Lens Camera with CMOS sensor was used. So I had to choose the appropriate setting on the left side of the Deshaker Window and check " Camcorder has a rolling shutter". The % value for the camera in use can be found under:
There are quite a number of cameras listed. If the desired camera is not on the list, then the described method can be used to obtain it manually.
So with not too much work, it is possible to get a quite good video output in Post Processing, for free. Of course, this is only a short description of the possibilities. I have been using this software for HD videos and especially for timelapse videos quite extensively for about 4 years now. Still I find new and better ways to use it in different circumstances.