Handbrake and MP4
When it comes to watching videos on a computer, there is one thing that can be really annoying: different video formats. Over the years, the number of formats have increased, leading to some confusion and incompatibility. Whether it’s DivX, XVID, WMV, AVI, MPEG2, MPEG, Quicktime MOV, Ogg Video, Flash video and others, it can be downright confusing. The other problem is that since some of these formats are proprietary, they don’t easily play outside of their own players. Of course, there are universal players like VLC or codec packs, but these come with their own cons as well.
The other downside is that some of these formats are quite old, and as a consequence eat up large amounts of hard drive space due to less efficient compression schemes.
A couple of months ago, I discovered HandBrake: a free and open source video transcoder that uses the free and open source x264 encoder. In simpler terms, HandBrake is a graphical frontend to the x264 encoder, which outputs MP4 videos.
HandBrake main window
Speaking of MP4, I learnt that both the older DivX format as well as XVID use an older MP4 standard, called Part 2 ASP. The MP4 output by x264 is called Part 10 AVC, and is more modern than the older standard.
What this boils down to is that with HandBrake, you can convert almost any video format into the standards based MP4-AVC format. The end result is a file that can be played by hundreds of devices and the output file is quite possibly a lot smaller than the source file.
I have managed to shave off over 80GB on my video collection by converting the files into MP4-AVC. Some video files refuse to convert, and some others end up larger in MP4 format than what they originally were. This however is the vast minority, with the majority converting exceptionally well.
One of the more interesting things about the x264 encoder is that it is multi-core and multi-processor aware. Simply put, once you start an encode, x264 will max out your CPU. If you plan to convert many files, make sure you have decent cooling on your CPU. x264 does not use the GPU in graphics cards, which means that encoding takes a lot longer. From what I read, the reason for this is that graphics cards don’t output the same visual quality or have the flexibility of what a CPU based encoder can do.
It takes a while to understand how HandBrake works, but once you figure it out, the reward is worth it. You can download a copy from http://handbrake.fr/ and start saving on hard drive space now. Be sure to spend some time reading the wiki and user guides first however.