28 November 2011
I’ve tried just about every video encoding product for MacOS X, and always keep returning to the venerable HandBrake.
Why haven’t I just stuck with HandBrake in the first place? One reason — its UI for batch converting videos sucks. Unlike all other products, you can’t just drag a bunch of videos into HandBrake. No, you have to chose them one at a time, and manually add them to the HandBrake queue.
Why haven’t I stuck with one of the other products? Because none of them have presets that are as good as HandBrake’s, and I couldn’t be bothered to learn the FFMPEG syntax. For example, all the presets in something like RoadMovie will change the resolution of the encoded video. HandBrake’s “Normal” preset will preserve the video’s original dimensions.
This weekend, with the help of Super-Makalu Justin Driscoll (@jdriscoll), I finally created a batch processing system, based on HandBrake. This article documents the setup.
sudo mv ./HandBrakeCLI /usr/bin
I have the following folder structure:
/Users/mhenders/Hazel/Videos/input-ipod /Users/mhenders/Hazel/Videos/out-ipod /Users/mhenders/Hazel/Videos/processed
We’re going to tell Hazel to watch the “input-ipod” folder, and whenever it finds a new video file, to process that file with HandBrakeCLI, and then move the original into the “processed” folder.
One setup, all you have to do is drop videos into the “input-ipod” folder, wait a few moments, and watch Hazel kick into action. I set this up on our 8-core iMac at home, and watched it blow through 100 videos. Yeah!
The Hazel embedded script will fail if the original video has spaces in the name. So be sure to change “My Home Video.mov” to “My-Home-Video.mov” before dropping into the input folder. I haven’t taken the time to sort that out yet, but will update this blog when I do.
You’ll notice that I’ve named my watch folder “input-ipod”. As you can imagine, I have other input folders named “input-appletv” and “input-normal”, for dropping videos I want processed with HandBrake’s “AppleTV 2” and “Normal” presets. I modify the Hazel embedded script accordingly for those rules. A complete list of HandBrake’s presets can be found here.
Hope this article helps others wanting to do the same. If you do, I’d love for you to drop a “Hello” message in the comments below.