Monday, November 24, 2008 [Tweets]

HandBrake 0.9.3

HandBrake now leverages the FFmpeg project so that it can convert video from all sorts of different formats, not just DVDs. This should make it the clear replacement for the recently discontinued VisualHub. For unstated reasons, Handbrake no longer has built-in DVD decryption, although if you have VLC installed it will use VLC’s libdvdcss and work pretty much the same as before. Despite the version number, this looks like a big upgrade. As far as I know, HandBrake is the easiest and fastest way to convert video for use on an iPhone.

Update: Ars Technica adds:

Jon Rubin, one of HandBrake’s developers, got in touch with Ars to explain the true reason behind the removal of the DVD libraries: “One of our developers works for a large company and felt more comfortable concerning his employment if what he did in his free time didn’t raise IP issues.…”


Unfortunately, the app looks for VLC with a hardcoded path of /Applications/, which doesn't work for me (I keep all non-Apple apps in ~/Applications instead). I'll have to see if I can learn enough ObjC to patch that.

Paul Mison: Yes, it should use something like [[NSWorkspace sharedWorkspace] absolutePathForAppBundleWithIdentifier:@"org.videolan.vlc"] to find VLC.

It uses a hard-coded path because HandBrake is a developer-centered project, and as developers, we tend to have a crazy number of versions of VLC nightly builds on our computers. This is how we ensure we're getting the right copy.

In that case, surely the solution is a preference to specify a VLC instance / path along with the other app preferences.

It can default to /Applications, automatically (can we hope?) look in ~/Applications next, or let you specify a version if you have it elsewhere.

It's a little complicated, because of the way HB is set up. User interfaces never interact with the third party libraries directly, only with libhb, which handles all the details. Currently, even libhb doesn't specify the path. See, it's libdvdread that needs the path to libdvdcss, not HandBrake. Right now the dl_open in libdvdread is hard coded to the /Applications path. So to get something more flexible, we need to get some code to allow libhb to tell libdvdread where to look for libdvdcss, and that might require a more invasive patch to that (unmaintained) library. Then it'd just be a matter of adding a parameter to the initialization function for libhb, so it can initialize libdvdread properly, and then wiring the MacGUI up with a proper NS* method to find the right path to fill in that parameter. Anyway, that all was considered a little bit more trouble than it was worth for 0.9.3. It'll probably happen some day, though.

I do not think it can replace Visualhub.
It only convert videos to Iphone.

Stay up-to-date by subscribing to the Comments RSS Feed for this post.

Leave a Comment