Now before you shout me down with your “Blender can do that!” patriotism, let me first explain how you would do it in Blender: So that works, sure, but if you’re looking for something really quick and easy that gives you a huge amount of optional control over the output file, give our friend FFmpeg a try! Just like ImageMagick, FFmpeg is an extremely useful command-line program. It has no interface, you simply type commands into a console. This might sound intimidating if you’ve never done it before, but it really is this easy: While I’m sure it’s not at powerful as Blender, it is really quick. There are some options detailed in the ffmpeg documentation such as the maximum extent of movement and contrast threshold, but for my purposes the defaults are fine. Like I mentioned above, Blender has a (relatively) limited number of encoding controls, whereas FFmpeg has as many as you could possibly imagine, and probably a few more. You just need to google something like “ffmpeg h264 encoding options” and you’ll quickly find several articles that detail things such as CRF factors, lossless compression and presets. Although Blender uses FFmpeg internally, you will need to install FFmpeg yourself and add it to the system path, which I’ve detailed in a separate post here: Installing FFmpeg for Dummies. I really, really recommend you explore the possibilities of this great tool, it’s useful for many more things, like converting an image sequence into a video, a video into an image sequence, rotate and scale videos, discover information about a video, stabilize that shaky video you took at you Great Aunt’s 4th wedding, stream the webcam you planted in your girlfriend’s ex-boyfriend’s bedroom, or convert your 250 frame cube render to a super-crispy lossless h264 of unparalleled awesomeness. If you’re interested in more possible uses of FFmpeg, take a look at the Use It section of my installation tutorial.
ffmpeg -i input.mov -vf deshake output.mov
ffmpeg
is the command that does all sorts of things to videos.
-i input.mov
tells ffmpeg which video to convert.
-vf deshake
is the stabilisation filter
output.mov
is of course the output file, keeping the original video unchanged.