Originally post on The Editblog
Does that say 14 hours?
Yessssssssssssssssssss it does.
There’s a great thread at the Apple support forums called the SmoothCam dirty little secret about the massively huge analysis times for the magic camera stabilization tool in Final Cut Pro 6 known as SmoothCam. Yep, they are quite large. According to the FCP 6 user manual this is how SmoothCam works:
Unlike other filters in Final Cut Pro, the SmoothCam filter must analyze a clip’s entire media file before the effect can be rendered or played in real time. Using the SmoothCam filter requires two independent phases: • Motion analysis: Pixels in successive frames are analyzed to determine the direction of camera movement. Analysis data is stored on disk for use when calculating the effect. • Motion compensation: During rendering or real-time playback, the SmoothCam filter uses the motion analysis data to apply a “four-corner” transformation to each frame, compensating for camera movement.
It is indeed a 2 step process and that first step is a biggie. The manual suggests using a Quicktime Reference file to cut down on the huge analysis time. Do you really need to do that? I ran a little test on some HDV footage with my dual 2.7 G5 and here are the results.
I took a 1 minute and 35 second (01:35:26 to be exact) shot that is its own individual Quicktime file and edited a 12 second 26 frame shot into a sequence. I then exported that same 12:26 shot to a Quicktime Reference file as suggested in Chapter 22 of the manual, Using the SmoothCam Filter. The result? The near 13 second Quicktime reference clip nearly an hour to analyze:
13 Sec. self-contained masterclip - HDV
The other 13 second shot that was part of the original one and a half minute master clip, 5 hours: 13 Sec. clip part of 1.5 minute masterclip - HDV
After setting up this little test I read another test that suggested the huge analysis times might be a result of the HDV codec and its mpeg/i frame existence. So I then exported these same clips using Apple’s ProRes 422 codec.
The 13 second self-contatined Quicktime in ProRes 422, around 36 minutes:
13 Sec. self-contained masterclip - ProRes 422 (HQ)
The 13 second ProRes 422 cut that was still part of the original one and a half minute converted master clip:
13 Sec. clip part of 1.5 minute masterclip - ProRes 422 (HQ)
A bit less time but not by much. HDV file sizes and data rates are quite small while the file sizes and data rates of the ProRes 422 (HQ) clips are very large. So just for comparison I exported the same clips as DV-NTSC to see the difference.
13 Sec. self-contained masterclip - DV
13 Sec. clip part of 1.5 minute masterclip - DV
So from the looks of this informal little test it seems as if the SmoothCam analysis speed has many factors that contributes to how fast or slow it can analyze a clip. HDV clips have low file size and data rates but the complicated i-frame compression seems to cause a lot more difficulty in analysis, kind of like conforming HDV for an output to tape. It’s a no-brainer that regular DV25 resolution would be fastest since it has small data rates and frame sizes. Just because we can, let’s try it with DVCPRO-HD 720 files:
13 Sec. self-contained masterclip - DVCPRO-HD 720p60
13 Sec. clip part of 1.5 minute masterclip - DVCPRO-HD 720p60
It makes sense that DVCPRO-HD 720 would be somewhere in the middle. What this tells me is to take the analysis time into consideration when using SmoothCam. If you can build that time into the edit it will produce amazing results. To see the “snake shot” before and after SmoothCam, or side by side, have a look at the H.264 Quicktime clips below:
snake shot WITH SmoothCam - 1.4 mb
snake shot WITHOUT SmoothCam - 2 mb
both snake shots SIDE BY SIDE - 2.6 mb
As you can see it works pretty well, kind of like the Steady Shot mode on a Sony camcorder. Of course all this can be avoided by just using a tripod!
But then what about other similar offerings from other manufactuers?
After my comparison tests on the new SmoothCam filter in Final Cut Pro 6 I saw a post on Splice Here wondering how long Avid’s Stabilize effect would take and what the results would be. I wondered the same thing so let’s give it a try.
Avid has a couple of different ways to stabilize a clip. I chose the most simple method called Region Stabilize. Drop the effect on a clip, position the wireframe over what you want it to track, choose appropriate zoom settings and render.
How long did it take?
20 minutes. That’s a far cry from the 53 minutes of analysis that SmoothCam had to perform to stabilize the self-contained Quicktime of the 12 second clip. What were the results?
snake shot w- Avid region stabilize - 670k —- that’s ssssssssssmooth
One mention on the Apple forums was that someone uses iStabilize. They have a free demo so let’s toss them into the mix as well.
snake shot iStabilize - 1.32mb — not a bad result but the downside of a third party app is you have to export a Quicktime, perform the task, export from the app and re-edit the stable clip into your edit. That’s a lot of steps and while the results were pretty good iStablize has kind of a clumsy interface that it took several trips to the help files and several exports before I got it to export the stable shot and not the original shaky one. But it was fast, only taking a few minutes to analyze.
Want to seem them all side-by-side?
snake shot ALL side-by-side - 5.7 mb — The link to the left is a high quality H.264 link. You can also see the You Tube upload below. It’s nice to see that these tools work pretty well. Of course there are a lot of different settings that can be tweaked depending on the kind of shot and how much shake and jitter that it has. All of these examples have been applied with their default settings with the exception of iStabilize which I tweaked one slider for the most stabilization possible. There are a lot of other ways to perform this same task (After Effects, Shake, Combustion) so whatever your tool of choice these days you can get a great result, especially if you have the time.