Monday, January 3, 2011

Handbrake: GUI v. CLI performance

Microsoft Zune HD portable media player

Image via Wikipedia

My migration from iPod/iPhone land to Zune HD was pretty smooth: the software doesn’t care about where your media is, as long as it is in one of the media libraries. This means you are free to keep your music and videos in additional drives. This may not look like much, but think about what happens every time you switch machines: you spend a lot of time of the migration dealing with just your music and video which usually eat up a lot more space than all your other data combined. If your media is on external drives, then you keep your home folder size down to a more manageable size.

This is one of the things that Apple fucks up. Apple allows you to leave your media as-is, or to let it organize the music. If you let it organize the music (big mistake) then it insists on using your home profile. It gives you the choice to override this folder, but then every time you do a minor update iTunes decides to forget that setting and tries to move everything to your home folder. Dumbasses.

Still, the migration was very much painless. The Zune HD 64 has exactly ONE thing that pisses me off, and it is so minor that I don’t consider it a deal breaker: there is no sleep timer. You have to download their free Alarm Clock app, but it doesn’t seem to run in the background.

There’s a different issue, which isn’t Zune’s fault: transcoding video. By now it is obvious that if you use mobile devices, h.264 is the way to go. The Zune HD can play many kinds of media, but it is more efficient to transcode videos to its resolution and in h.264, which yields much smaller files that still look damn nice. This is a manageable problem: dump all your videos into Handbrake overnight and let it transcode them to a custom preset, which is almost identical to the presets used for an iPhone.

Here’s the problem: once you start a big Handbrake batch, it is hell bent on finishing the job, which means that your machine is pretty much unusable until the job ends. Over the Christmas break I discovered that Handbrake allows you to save and import batches, which makes it easier to manage big jobs. It also allows you to convert a batch into a script, which runs Handbrake as a CLI app.

And it doesn’t hose the machine.

I haven’t read enough into this, but the difference in encoding performance seems to be very small, and the machine is slow but usable. When encoding with the GUI, I have to leave the machine alone for good, but with the CLI running I can surf the net, use instant messenger apps and xchat. Windows Live Writer still chokes, but I can’t tell if this is the app’s fault or this is due to the Zemanta plugin.

Does anyone else deal with this? I am curious to see if the GUI issues can be managed with the advanced preferences. The output is identical regardless of which of the two routes I go, but it is nice to be able to at least answer emails and check websites while I am running a batch.