Okay, I'm convinced: Deshaker for me

riredale wrote on 4/7/2005, 11:36 AM
I'm just finishing up my surround-sound epic involving a whole lot of walking shots. I think I'm fairly decent at holding the camera steady, but I was appalled when I watched some of my stuff on the new big-screen monitor. I should be forced to provide motion sickness bags along with the finished DVD.

Anyway, in the past I've used SteadyHand from time to time, but only on the most egregious video footage, since (1) it softens the video to a certain extent, (2) adds a bit of "strobing" to the video, and (3) creates the moving black border. It was the last effect which was the most serious in my view, and I compensated by using a moderate Cookie Cutter outline in Vegas to hide the motion of that border.

In light of the new footage and also some glowing past reviews of DeShaker, I decided to give it a try. Based on encoding the same clips in both SteadyHand and DeShaker, I've decided to switch. Here's why:

(1) Both products accomplish essentially the same thing, but SteadyHand seems to introduce a subtle "strobe" effect to the video. Upgrading to the most recent version helped some, but the effect is still there.

(2) DeShaker is much more involved and thus a bit of a pain, but with some practice the operations become ingrained. It would SURE be nice to have some sort of script and also a batch file feature!

(3) Both products soften the video slightly. I can live with the hit.

(4) The killer feature of DeShaker is the ability to fill in the black borders with parts of before or after frames. In most cases, there is even no need for a Cookie Cutter mask, though I now automatically use a 5% mask on everything I do. It hides nearly all of the remaining artifacts, and yet is not visible on any of my TV sets, including the new 62" DLP (which uses 7% overscan, I've determined).

One could eliminate the border entirely on either product by zooming in the resulting video. I rejected that approach early on simply because it introduced further softening and artifacting of the image.

(5) Both are slow. Given a 13.5 second clip, SteadyHand took my PC 2:35 to steady, while DeShaker took about 4:30 of processing for the various steps, plus maybe a minute of manual mousing around (selecting Pass 2, selecting DV avi encoding at the end, removing the 30 frame black leader). The minute of manual labor would be gone if an automated script were available. So even in a best-case situation, DeShaker is about 1/20 realtime. This is with an AMD 2100xp system, so these days one should be able to double the rendering speed on a newish system.

Still, the results are very pleasing. I do note an occasional MPEG2-like minor artifact on the DeShaker results when viewed on the big screen TV that are not present on my interlaced sets. I attribute this to some sort of interaction of the video with the deinterlacing/upscaling function of the TV (the TV has a DLP display of 1280x720 pixels, so it not only deinterlaces NTSC video but also upscales to the higher pixel count).

Bottom line: very, very smooth Steadicam-like results. Not perfect, but very usable for my purposes.

Comments

johnmeyer wrote on 4/7/2005, 11:57 AM
I assume you read my Deshaker Guide over at the VASST site.

One thing I didn't mention in that guide is that for a lot of footage, you can substantially (4x) speed things up by changing (in Pass 1) the "Use Pixels" setting from "All (Most Robust)" to "Every 4th." You can also change "Scale" from "Full" to "Half." Try changing the Use Pixels setting on a 20 second test clip that is representative of your footage and see if you notice much difference in quality. Then try both that and the Scale setting change. You'll definitely notice the speed difference.

JJKizak wrote on 4/7/2005, 12:21 PM
I have only used Deshaker on analog film captured with Vegas. Anything that I shoot in digital has some motion during hand held but it is not objectionable. The analog motion that I have tried to remove is the "film claw"
jumping around up and down. After about 1000 attempts the motion is removed very well except for some portions in the picture which do not get corrected. Hence there are things and objects sash-shaying around within the picture while everything else on the perimeter is steady as a rock. The fogging is very noticeable also. I can't stand the fogging (the 16mm original film was sharp as a tack) and I can't stand the movement of some of the objects in the picture. These items are usually very close in color to the corrected items. Areas of green grass slowly changing color to yellow green. Deshaker cannot "see" these subtle color changes (my opinion) and just forgets to correct them no matter what you have the pixels set for. The result is "dancing grass blobs". I have seen this in some of the PBS specials also, one example is "World War II In Color". If you stray too far away from JohnMeyer's guide settings things get worse. But like I say this is analog film not digital. I never tried it on digital stuff.

JJK
johnmeyer wrote on 4/7/2005, 1:00 PM
One of the early users of Deshaker wanted to remove the film gate jitter, and convinced the author to add several features to the product just for that purpose. Somewhere during my research for writing the guide, I came across the settings someone posted for getting rid of this "jumpiness." If you copy the information below into notepad, and then save the file with the extension "vcf" you can then use VirtualDub's "Load Processing Settings..." option in the File menu to use these settings.

VirtualDub.audio.SetSource(1);
VirtualDub.audio.SetMode(0);
VirtualDub.audio.SetInterleave(1,500,1,0,0);
VirtualDub.audio.SetClipMode(1,1);
VirtualDub.audio.SetConversion(0,0,0,0,0);
VirtualDub.audio.SetVolume();
VirtualDub.audio.SetCompression();
VirtualDub.audio.EnableFilterGraph(0);
VirtualDub.video.SetDepth(24,24);
VirtualDub.video.SetMode(3);
VirtualDub.video.SetFrameRate(0,1);
VirtualDub.video.SetIVTC(0,0,-1,0);
VirtualDub.video.SetCompression(0x64737664,0,10000,0);
VirtualDub.video.SetCompData(8,"RFZTRAAAAAA=");
VirtualDub.video.filters.Clear();
VirtualDub.video.filters.Add("Deshaker v1.6");
VirtualDub.video.filters.instance[0].Config("4|2|100|2|0.911392|2|0.911392|2|720|480|1|1|1|0|1500|0|0|1|1|0|2|1|2|300|1|C:\\Deshaker.log|0|0|0|0|0|0|1|0|0|20|0|0|0|1|100|2|100|100|0|0|0|0|0");
VirtualDub.audio.filters.Clear();
P.S. Because of how Internet Explorer copies information to the clipboard, the line breaks in the code above may be lost when you paste into notepad. If so, paste it into Word and then search on manual line breaks and replace with paragraph breaks, then save as a text file.
JJKizak wrote on 4/7/2005, 2:49 PM
Okay, I saved it in Word using "text with line breaks".

JJK
vectorskink wrote on 4/7/2005, 4:15 PM
Can you use Deshaker for HDV stuff? If so, you could make some pretty sweet DV footage from HDV source!! Plenty of frame to play with.....
DGates wrote on 4/7/2005, 4:28 PM
Whether it be SteadyHand, DeShaker or SteadyMove (the one I have), you can't expect miracles from any of them. Quickly jerking video will never look as good as footage from a tripod. I find it works best on very subtle shaking. I usually sharpen the final output.
Laurence wrote on 4/7/2005, 7:36 PM
I just used Deshaker on a project where I had to use it on almost every clip. I had a thread on this group entitled "how to rescue horribly shot video" a while back. Anyway, Deshaker really saved the day. I tried Steadyhand, but could not deal with the moving frame edges. It took absolutely forever, but it saved an otherwise doomed project.

One thing I've noticed about Deshaker:

You lose a about 30 frames at the end of each clip unless you attach a little black to the end of the clip you are going to process. Often this doesn't matter, but if you need that last little bit at all, you need to load the clip in Vegas, mark an area a little longer than the clip, render the lengthened clip, deshake that, then trim the first 30 frames of the front and the extra black off the back. Boy does that take a lot of time! Anyway, the results are, as mentioned above, a little softer, but way better than they were with the shake!

This is one of those magical programs like Autotune or the Sonic Foundry noise reduction. It is just amazing to see it work!
Laurence wrote on 4/7/2005, 7:41 PM
Another thing about Deshaker:

My Sony VX-2000 shoots an image that goes right to the edge of the 720 by 480 frame. My friend's Canon XL1 shoots an image with a small black border around all four sides of the frame. Those extra pixels near the edges were never important to me before, but with Deshaker they make a real difference. When I tried Deshaker on his XL1 footage, I couldn't get rid of the moving black edges of the frame without zooming. Is this just the way it is or is there a way around this problem?
johnmeyer wrote on 4/7/2005, 10:43 PM
Sounds to me like there is something wrong in the camera setup. I don't think any digital camera should leave a border around the video.
Kula Gabe wrote on 4/8/2005, 2:32 AM
The Xl-1 has black on the side edges, it was a real pain when I used video from it for 4 clips on screen, as the black edges needed to be cropped out. It was a great cam for years but, I am glad I sold it.
farss wrote on 4/8/2005, 5:29 AM
Just a few tips. If you know you're shooting image that's going to need deshaking then a faster shutter speed helps. Part of the problem is the motion blur introduce as the camera moves and the slow shutter speed.
You don't notice this in the wobbly video as it 'belongs'. When you remove the motion you're left with rather odd comet trails on objects.
I'd also suspect that having as much DOF as possible will help also. All these programs need to find a sharp edge to track to workout where to move the frame, giving them something in the frame makes their job easier.
Looking at the tools in Combustion and AE for doing this I see you can specify an edge as a tracking marker, that must help a lot as well.
Bob.
riredale wrote on 4/8/2005, 10:13 AM
I don't know why, but when I opened up this thread just now it seems to stretch about twice as wide as the window it's in. Did I do something when I started this thread that makes it behave this way?

There should be no need to trim off the extra bit of black at the end of the deshaken video, as deshaker will do that much. I really do wish there was an automated way of using this product.
johnmeyer wrote on 4/8/2005, 10:19 AM
I don't know why, but when I opened up this thread just now it seems to stretch about twice as wide as the window it's in. Did I do something when I started this thread that makes it behave this way?

Sorry. That's due to my post where I included some code that doesn't wrap. It sets your windows wide. It should go back to normal on the next thread.
RichMacDonald wrote on 4/8/2005, 11:06 AM
> (2) DeShaker is much more involved and thus a bit of a pain, but with some practice the operations become ingrained. It would SURE be nice to have some sort of script and also a batch file feature!

I've done some work with this. Nothing that can go directly from Vegas to Deshaker and back. However, I have a script that will handle the two-passes, 30 frame appending and final trimming (so you can take the result and add it as a take over the original) over in the Scripting forum. When I have multiple clips to render as batch, I drop the clips into a folder then run another tool to read all the files then create another script that simply appends the above over and over for each file. That's in java though, and not suitable for release. However, its easy for me to write something others can use if you're interested.
riredale wrote on 4/8/2005, 1:06 PM
YES! VERY INTERESTED!

I'm sure there are dozens of others who would be interested. Maybe thousands, once they realize what a cool tool this is.