View Full Version : .mkv?

October 14th, 2007, 02:31
ok so I've been googlerizing ion how to play .mkv but to no luck :( so i was wondering, is there any possible way to play .mkv video file extensions on the 360 or what? i have windows xp home sp2 and the latest dashboard updates i do believe so someone please help a total novice to the 360

October 16th, 2007, 18:43
anybody want to answer? ive been waiting for like 2 days now.

Kichigai Mentat
February 20th, 2008, 02:58
The short answer is "no." Microsoft did not deign Matroska (one of those foolhardy "open" containers! HAH! We all know closed source is the best way to go! ;) ) Furthermore, the only support for H.264 is in MP4 or MOV containers, which don't allow for AC3 or DTS (actually, there isn't even support for 5.1 AAC, which the PS3 does support). Not all Matroska videos have H.264 video and AC3 or DTS audio, but most of the high def stuff uses those codecs. Microsoft seems a bit slow in supporting popular formats.

The long answer are two qualified "Yes." There are three ways of getting content to the 360: via UPnP, via Media Center, and via USB storage. There are drawbacks to all three of these, but first is overcoming the shortcoming of the XBox 360 lacking Matroska support.

I'm guessing you're talking about High Definition content here, which means in all likelihood we're dealing with 720p or 1080p content encoded with H.264/x264/AVC (same thing, different names) video and AC3 or DTS audio. The most time consuming thing to deal with, if we were to transcode this, would be the video. Fortunately we can rescue it, and only have to mess with the audio (which, on my 1 GHz PPC/G4 system, takes around 40 minutes to process 120 min worth of audio). I don't know of what tools you can use in Windows, but in Mac OS X and Linux (OK, you can do this in Windows too, but this is ALL command line stuff, I'm not using any fancy-pants GUI) you can use a tool called ffmpeg to copy the video and transcode the audio, while dumping into an MP4 container. Below is the command I have found useful (though, depending on some potential issues, not effective 100% of the time):

ffmpeg -i {Input Filename Here} -vcodec copy -acodec aac -ab 192 {Output Filename Here}.mp4

Now that we've overcome one of the XBox's deficiencies, we have to look at the next hurtle: getting our content to the machine.

USB Storage
USB Storage would be the preferred way to do this, but unfortunately, it's useless for anything longer than an hour or so. The XBox 360 only likes its USB drives formatted with FAT32, an older filesystem with a maximum file size limitation of 2 GiB. Most content around an hour fits inside that limit easily, but anything longer tends not to. This is a hard limit, there is no way around it without corrupting the file system. This, among many other points, is one of the reasons that EXT2/EXT3, HFS+ and NTFS have risen to prominence. NTFS is Microsoft's answer to FAT, but it's specifications have long been held a secret. Recently, through the use of Userspace Filesystem (better known as FUSE) plug-ins, specifically NTFS-3G, Mac OS X, Linux, and other UNIX and BSD users can read and write to NTFS disks. The XBox 360 (despite being a Microsoft product) can do neither. That's right! The XBox 360 does NOT read NTFS. It doesn't read EXT2/EXT3 (as if Microsoft would support anything used with Linux). It does, however, read HFS+. My Mac formatted (that is, the filesystem on the iPod is HFS+, the primary filesystem used with Mac OS X) iPod communicates with the XBox 360, and ONLY my HFS+ iPod works with the 360. That is, HFS+ formatted disks do not. Again, Microsoft shoots itself in the foot. This rules out the use of a USB drive for a lot of content.

Universal Plug-n-Play
This is a nifty little protocol that allows devices on a network to find and configure themselves, positioned as a competitor to (and lacking many notable features of) Apple's Bonjour technology (derived from mDNS). Strictly speaking, the 360 doesn't speak official UPnP. It uses an odd bastardization of it. So, only Windows users get to reap the benefits of UPnP on the XBox from scratch. Mac OS X users need to get Connect360 or borrow from their Linux brothers and compile UShare. With UPnP, your file size is limited only by the filesystem you choose to use, which can be anything your computer can read. Now the XBox's turn to epic fail: the 360 doesn't like files larger than 4 GB. So even though your filesystem can support files up to 8 Exbibytes (yes, that's a real measurement (http://en.wikipedia.org/wiki/Exbibyte)), the XBox chokes if your file is bigger than 4 GiB (http://en.wikipedia.org/wiki/Gibibyte), even if it's WMV. There's a lot of content meant to fit exactly on DVDs, which measure 4.38 GiB, which ordinarily puts us just over the limit. Depending, though, with the transcoded audio, the file may be just under 4 GiB, but this may not be likely in some situations.

Windows Media Center Extender
This is my least favorite way of doing things. You'll need a computer running Windows XP Media Center Edition (I don't think the Vista version works) and you'll need to set up your XBox as a media center extender. Don't ask me how to do that, I don't know how. This gives you the miraculous way of streaming files as large as you can handle to your XBox. With the right setup on the media center, you can even share the MKV directly. The problem with this is (and I'm not 100% sure if this happens with all codecs) that your system may need to transcode (re-encode) the file, which requires massive amounts of processing power, making this the least optimal solution in those situations, or downright impossible if you don't have a crazy-fast machine. Depending, this might not happen, I don't have ANY experience with Media Center.

Now, just because of the limitations of the XBox, we're making some sacrifices. Since the XBox doesn't support 5.1 AAC, we're going from surround sound to straight up stereo. Because we're transcoding the audio, we're losing some quality. If you have a nice stereo system, you might want to bump the bitrate (the -b part of the command line I mentioned earlier) to 320 KbPS. If MCE is transcoding the video, we're losing quality there too. If we do things carefully, we won't lose too much. Furthermore, if the Matroska file contains multiple audio tracks and/or subtitles (which is something Matroska is very good at doing) we'll lose that too. So, until Microsoft wakes up and starts supporting the things we want, we'll have to suck it up, or install XBMC on Linux-armed PCs or PS3s.

P.S. If the file contains video other than H.264 of spec'd MPEG-4, you'll need to make a few more steps, which I can help with, but will add several hours to your processing time, depending on the processing power of your converting rig.