Simulated Slow Motion with Sony Vegas and free tools

One of my recent objectives has been to find a way to do convincing slow motion with true HD sources. With the Canon EOS cameras, you can shoot in broadcast HD (1280x720, 60fps) and place the resulting video on a timeline, slowing it to 40% with no frame interpolation of any kind. What happens is the 60 fps video you shot simply plays back at 24fps, resulting in a true overcranked slow motion.

That's fine if you're delivering in broadcast HD, but if you want to preserve full HD resolution on the deliverables, other solutions are called for. I looked at Twixtor, which appears to deliver pretty good results, but it only plugs into Vegas 10+, and I am a 32 bit Vegas 7 holdout...

Before we get too far, here's the results I've gotten with my solution which uses freely available tools :


The three clips are at 25% speed, 50%, and 12.5%.

The Recipe

This is going to be curt because I'm crunched for time. Download and install debugmode frameserver, virtualdub, avisynth, and mvtools2. Google 'em, they're out there. Consider finding them as a rite of passage.

Load your source video into vegas and render to debugmode to create a frameserved video which you will reference in the following avisynth script which I called slowmotion.avs :

LoadPlugin("[PATH TO] mvtools2.dll")
source = AVISource("[PATH TO FRAMESERVED VIDEO].avi").killaudio()
super = MSuper(source, pel=2)
backward_vectors = MAnalyse(super, blksize=8, overlap=4, isb=true, dct=1, search=3)
forward_vectors = MAnalyse(super, blksize=8, overlap=4, isb=false, dct=1, search=3)
MFlowFps(source, super, backward_vectors, forward_vectors, num=120000, den=1001, ml=100)

Obviously [PATH TO...] is a placeholder for the paths to your actual files...duh.

Load slowmotion.avs into virtualdub and render out to a new video. Done.

The script uses motion compensation to interpolate 'in-between' frames and generate a new avi that is 25% of the speed of the original. I tried a LOT of different settings and determined that these settings generate the cleanest results most of the time. Keep in mind that while it is true that for overcranked slomo you want a shutter speed at least equal to the destination frame rate (i.e. @ 24fps, a 25% slowmo wants a shutter speed of > 96fps), for synthesized slow motion this is less important. Mainly you just want to have a high enough shutter speed that there's not excessive motion blur in the source footage. A little bit is ok. Shutter speeds of 60-120 seem about right.

Once I generated the slomo footage, I found that if I sped it up to 200% in vegas, it looks like a very clean 50% slomo, and by the same token if I slowed the footage to 50%, I got a very smooth 12.5% speed playback. Basically it's playing back so slowly that you don't notice that every frame is being played twice on the superslow version.

Remember to always turn off resampling on your speed-modified footage in Vegas. Resampling causes Vegas to do frame interpolation, which it is very bad at. This script, on the other hand, is very good at it.

The results may be slightly inferior to twixtor...not sure. Keep in mind that even if you have super high shutter speeds, a large position change of your video subject from frame to frame (ie a really fast moving item) will challenge any interpolation software. It seems to be best for shots like this where a slow down helps to punctuate emotion, but without a massive amount of movement in the footage.

I'm sure there are even better MVTools slow motion scripts out there, but I took the best I could find and experimented a lot to get this result. For the odd case where I want slow motion but want to stick with full HD, this seems to be a pretty satisfactory result.

How to Connect with Blended Planet Pictures :


For the icon-challenged :

Follow BlendedPlanet on Twitter 
BlendedPlanet Youtube channel 
Follow BlendedPlanet Pictures on Facebook

In a hurry to reach me?

Just call 260-489-4212 - you will get my voicemail, but leave a quick message and I will get back with you promptly. - Dave