Hands-on With HandBrake 0.9.4
Getting a movie from a DVD into iTunes isn't nearly as simple as ripping music from a CD. Thanks to the copy protection on commercial DVDs (and the Digital Millennium Copyright Act), you can't stick a DVD into your Mac, launch iTunes, and press a button to convert it to an iPod- and iPhone-friendly format.
One easy way to solve the problem is to use HandBrake, a free open-source video-conversion program. In late November, HandBrake's developers released a new version, 0.9.4. While an update from 0.9.3 to 0.9.4 doesn't sound very impressive, that tiny version-number increase belies the major updates it includes. Here's a hands-on look at some of the new and updated features.
HandBrake is now available in a 64-bit version for use with OS X 10.5 or 10.6 Macs with Core 2 Duo or better Intel processors. Unlike many 64-bit Mac programs, which contain both a 32-bit and 64-bit version within a single clickable app, HandBrake is available as two completely separate versions, one that runs in 32-bit mode and another in 64-bit mode. HandBrake's Website says that the 64-bit version encodes video about 10 percent faster than the 32-bit version, owing to the added efficiency of 64-bit math routines--and every little bit counts when you're transcoding video.
However, there's one extra step to getting the 64-bit version of HandBrake working on your Mac. As of 0.9.3, HandBrake's developers stopped including the code necessary to decrypt commercial DVDs on its own for legal reasons. Instead, the program uses the libdvdcss decoding program that's bundled with the free VLC media player. As long as you've got VLC installed, HandBrake will sense its presence and use its copy of libdvdcss without any extra effort on your part. However, when this article was published, the current version of VLC (1.0.3) was not available as a 64-bit version due to stability concerns.
To get around the problem, you have a few options. One is to download a 64-bit version of VLC 1.0.2, the previous version. Another is to grab one of the nightly builds of VLC 1.0.3, which include 64-bit support. (Keep in mind, however, that the Website specifies that "the nightly builds are UNSTABLE and may not work at all.")
On a side note, you can install both 32- and 64-bit versions of VLC on your computer at the same time, but HandBrake only sees the app if you don't change its name (in other words, if you call one VLC 32 and the other VLC 64, it won't work--the one you want HandBrake to use has to be called just plain old VLC).
As an alternative workflow, you can use the 32-bit version of the free Fairmount application, which also uses VLC's libdvdcss to mount protected DVDs as unprotected versions. Once Fairmount has used its 32-bit prowess to mount the DVD in an unprotected form, the 64-bit version of HandBrake can convert that disc directly without any need to access VLC's libdvdcss itself. Going the Fairmount route can take a lot longer, however, since it takes a while to decrypt the DVD.
Using a 3.06GHz iMac with 4GB of RAM running OS X 10.6.2, I encoded two chapters of a movie totaling 11 minutes, 24 seconds using both the 32- and 64-bit versions of HandBrake 0.9.4--and the corresponding versions of VLC (32-bit 1.0.3 and a nightly build of 64-bit VLC 1.0.3)--to see what the difference was. Both were encoded using the AppleTV preset. The 32-bit version took 8 minutes, 38 seconds, while the 64-bit version took 7 minutes, 18 seconds--a difference of just over 15 percent. (The resulting encoded files were the exact same size.)
HandBrake has long been able to include subtitle tracks from DVDs in your transcoded files. But they've always been burned into the movie you create with no way of turning them off. New in 0.9.4 is the ability to include subtitle tracks that you can turn on and off.
This feature works with the closed-caption data on DVDs, and will also work with .srt-format subtitles that you can find on the Internet and then import from your desktop. (You can still use the subtitle tracks on discs, instead, but they will be displayed in the old burned-in format.)
Better H.264 encoding, AAC audio
HandBrake uses the x264 video encoding engine for H.264 video, and the latest version of x264 in HandBrake is supposedly faster than before, while also creating better quality files at small file sizes (H.264 is still a pretty processor-intensive format, however). I tested out both 0.9.3 and 0.9.4 to rip a few chapters of a TV show episode on DVD using the iPhone preset. Although the 64-bit 0.9.4 was much faster than the 32-bit 0.9.3, the data rate (and therefore file size) for the 0.9.4 version was actually higher with the same preset. This may be related to HandBrake's new emphasis on quality-based encoding over specific target file sizes and bit rates, which also eliminates the need for two-pass encoding.
In a special bonus just for Mac users, HandBrake now uses OS X's Core Audio subsystem to encode AAC audio tracks, which the developers say offers "far superior audio quality" to the open-source encoding library that was used in the past (and still is on other platforms).
The encoding process is also a little simpler now thanks to some house cleaning in the areas of old presets and confusing encoding methods.
In the old days (well, prior to 0.9.4) the way to test out HandBrake settings on a movie was to pick a chapter or two to encode with your chosen settings and then see how it looked before deciding if you wanted to tweak anything.
HandBrake now has a Preview Window button at the top. Click it and you'll see a static preview of different frames from throughout the movie (you could do this in a slightly more complex way in the past). But choose a frame, pick a duration (from five to 60 seconds in five-second intervals), and then click Live Preview and HandBrake will encode just that portion of the movie with your chosen settings (including frame size and any filters you've enabled) and then play it for you. Don't like what you see? Then pick some new settings and try again.
In addition to the new Preview Window button at the top of the HandBake window, there's also a Picture Settings button. Clicking Picture Settings brings up a translucent, HUD-like floating window with Size and Filters tabs. To get to these settings in the past, you had to click the Picture Settings button near the bottom, which opened a new window that prevented you from accessing the rest of the interface.
A new DVD-reading library should not only allow you to select different angles on a DVD, but also to read some DVDs that HandBrake had trouble with in the past. Also, with the previous version of the software, HandBrake added the ability to encode non-DVD files as well--the latest version improves transport stream support and fixes several decoding bugs too.
There's more in this update, and you can always check out the HandBrake Guide, although at the time this story was posted the HandBrake team was still working on updating it for 0.9.4.