Handbrake and XBOX 360 to view mkv files

Recently, I decided that I could use my XBOX 360 for something more than DVDs and games/content from MS. I already used it to watch DivX and XviD movies but these are now becoming less flexible than other, more modern, formats like MKV (see Wikipedia here). The nice thing of the MKV is that it is much more flexible than the usual AVI container and is fully supported by Handbrake (a great tool for Win and Mac – you can find it here). Unfortunately the MKV container is not supported by the XBOX360.

I decided to do the usual quick search on the internet and found these two interesting pages:

  • The formats officially supported by XBOX 360 from this post on the Microsoft forums
  • An interesting article of someone who had a similar problem here.

I’m sure the internet is full of people with a similar problem, but not exactly the same. However, what I needed to do is to convert an AVI or MKV file into something that the XBOX can read quickly. The solution I’ve found is the following:

  1. Get Handbrake (see link above)
  2. Open the file you need to convert
  3. Select the “normal” or the “high” profile from the default ones
  4. If you selected the “high” profile, deactivate the large file checkbox – this is NOT supported by XBOX360 as it sets a 64bit flag when XBOX can only read 32bit ones. This flag is used only if you need to create files larger than 4GB, which are anyway not supported by XBOX when reading from an external media like a USB key. In fact, with XBOX you can only use USB keys formatted with FAT32 and a well known limitation of this filesystem is that it cannot store files larger than 4GB. Thus you’re anyway limited to not use the large file checkbox as you can’t generate files larger than 4GB for the XBOX.
  5. In the audio section, mind to remove all the audio tracks except one – XBOX doesn’t support multiple audio tracks. Here only 2 sound codecs worked for me: the AAC in Stereo mode and the AC3 in 5.1 mode. Actually, when I first used the AAC (which should be supported out of the box), I had to download a free extension from my Xbox Live account, while the AC3 format seemed supported out of the box already. If you keep more than one audio track, Xbox will play only the last one – thus mind to keep the audio with the language you’re interested in.
  6. Do the conversion
  7. Move the final file (normally this should have a .m4v extension if you used AC3 or a .mp4 if you used AAC) to your USB stick
  8. Plug the stick in the frontal USBs of your Xbox
  9. Use the external video application and enjoy!

In this way, I managed to get the streams contained in a MKV file into another container that is supported by the XBOX.

Although I succeeded in my original aim, I’m well ware that in this way I’m loosing quality by decompressing and recompressing video and audio streams using codecs that are lossy in terms of quality (see here for a nice description of the thing). Since MKV is only a container, the video and audio streams are normally coded in MPEG4 part 2 (DivX or XviD) or h264 – for the video – and MP3 for the audio. These, although good, are still lossy in terms of quality and thus the decompressed image is never perfectly the same as the original one. But this is valid also if you convert your DVD into a DivX or XviD – also the DVD MPEG2 is lossy. So far so good: the drop in quality, if you use the Handbrake high profile is minimal and you almost cannot perceive it.