Playing x264/H.264/MKV on the Xbox 360

Update 03-30-2008: If you follow this tutorial and find that GOTsent isn’t for you, please check out XenonMKV, a custom utility I’ve written to replace this process. I highly suggest you check it out! Questions and concerns can be posted on the XenonMKV Forum. I’ve also stopped mirroring any new custom GOTsent packages.

With the release of the Xbox 360 ‘Fall’ Update, MPEG-4 ASP support (commonly known as DivX or XviD support) has been added to the integrated video player.

ilmlivebladefall2007.jpg

The primary missing feature is the ability to play high-definition H.264/x264 MKV streams. While H264 support was added in the previous Dashboard upgrade, unfortunately, the decoding implementation isn’t perfect: the dashboard doesn’t natively read MKV. As well, high definition files can only contain a 2-channel AAC soundtrack, not full 5.1+ surround. This prevents using the Xbox 360 for most H264 content available on the Internet.

There is still a way to view HD content (with 2 channel sound) on the Xbox 360: transcoding the audio track and repackaging the MKV file into a MP4 container. This process takes significantly less time than converting both video and audio, and the visual quality is maintained. You do lose the additional 3.1 channels, but it’s better than having to install a Core 2 Duo E6750 under your TV just to play these files.

For a while, AAC recoding has been somewhat of an arcane art, known only to those who’ve spent years looking on the Doom9 forums. I’d looked into this a few months ago and wasn’t too impressed with the available solutions. Skimming the Xbox 360 information thread from the Something Awful forums today, though, I found a solution that should work for people prepared to install a few free utilities.

Getting Set Up for Encoding
You’ll need a few free utilities to get your system in the best shape possible for repackaging the MKV contents into an MP4 container. Here’s the sequence I followed on a fresh XP installation:

    • Download and install the newest version of CCCP, which includes a stable version of ffdshow and Haali Media Splitter. A new edition was released on January 24, 2008 so I’d advise an upgrade if you’re running something older.

 

  • Download and install AC3Filter, which is a good utility to have anyway if you’re planning on listening to 5.1 audio or outputting optical/coaxial audio from your sound card.

 

 

  • Download a copy of Nero AAC Encoder and extract the contents of the win32 folder where you can find them later. If you use the package I provide below, the files are already included.

 

 

The Magical Tool of Whimsy
The tool that makes Xbox playback possible is called GOTSent, which boasts “easy and fast x264 .MKV to PS3 and XBOX 360 compatible MP4 and PS3 compatible VOB/AC3 conversion.” It’s essentially a wrapper around several open source video encoding utilities, but it certainly does the job as intended. The current version is 0.23B10, which has been mostly stable in my experience. Make sure you’ve already downloaded and installed Nero AAC Encoder, CCCP and AC3Filter before grabbing this file.

Before You Begin: AC3Filter Gain Level
In my experience, the AAC audio in the newly muxed file is at a significantly lower level than most non-HD sources, so you may have to increase your volume to properly watch the videos on the Xbox 360. The more permanent way to solve this issue, though, is adjusting the gain control in AC3Filter. These instructions assume you’ve installed the newest CCCP and AC3Filter already.

    • Start the original H.264 video file that you’d like to convert in Windows Media Player, Media Player Classic, Zoom Player, or any other player that uses DirectShow media filters. (Most players except VLC fall into this category.)

 

  • In your system tray, right-click the red FFDshow icon – highlighted in yellow in the following image. Select AC3Filter from the popup menu.
    ffdshow tray icon

 

 

  • In the AC3Filter dialog, slide the Gain slider up until the sound from the original video file matches your normal system sound or MP3 volume. Try seeking to a loud section of the video to get a good idea of where this setting should be. I needed a fairly hefty boost on my system (which has onboard Intel HD-compatible sound to standard stereo out, on an Asus P5B Deluxe motherboard) of about +16.6dB to match standard iTunes output, but going any higher resulted in clipping and distorted sound.AC3Filter Gain ControlAs you adjust the slider, you should immediately hear the difference in the video file. Ideally, make this setting as close to 0dB as you can tolerate to avoid distortion. Looking at the input levels equalizer may also help in determining the right setting.

 

Once you’ve selected your gain level, click OK and close the current video file.

 

GOTSent Tips and Tricks
You’ll definitely need to use the “Split >4GB option” so that the Xbox recognizes the output files, and try converting one file at a time to get a general idea of how the process works. I’ve been able to avoid using the MPEG2 Recode, Safe Sync, Mux to Vob (PS3) and 25 FPS options, so leaving them unchecked should work.

Once the GOTSent process is done, rename the output file to Filename.avi – while the Xbox 360 should detect the original .mp4 extension from Zune or Windows Media Player 11 sharing, Windows Home Server standard media sharing requires .avi extensions for the files to be properly seen. Add the faux-AVI files to your video library as usual, and you should be up and running watching HD content from your Xbox 360.

Caveats and Setbacks
Not all files I’ve found will work with GOTSent, but it’s certainly got a high level of compatibility with exotic downloads. For example, certain x264 HDTV files simply cause GOTSent to chew up CPU and refuse to enter the demuxing phase of the job. You can tell if this is the case, because a command prompt window appears in the tray during the first step GOTSent takes.

It appears as if all the tools included with GOTSent are single-threaded and Win32 binaries; for those of you with high end 64-bit systems intending on taking advantage of extra CPU cores, there’s not too much optimization coming your way with the utility. You’ll still be able to perform normal computing tasks while the program works, though, so not all is lost.

I’m looking forward to any new updates and fixes for this program, and will keep you informed as to any developments I’m aware of. sentry23 (the original author) has done a great service releasing this tool and it’s certainly sped up the process of converting files for me.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>