Thursday, January 20, 2011

Windows 7 Media Center, XBOX360 Extenders and MKV container formats

The Matroska Multimedia Container format (MKV) is a free and open-standard container format which allows any number of video, audio and subtitle tracks to be stored in a single file. Some would argue that MKV is the ONLY container format to use today, and with good reason since it supports advanced H.264 video compression standards used for High-Definition video, the latest standards in multi-channel audio, and it's supported by a multitude of portable media players and installable media solutions such as XBMC, Mythbuntu, etc.

Unfortunately Windows 7 does not include native support for the MKV container format, however playback of H.264 streams and multi-channel audio in other container formats is supported, but only through the new Media Foundation framework. Media Foundation was introduced in Windows Vista already as a replacement for DirectShow - DirectShow is still supported in Windows 7, however its use is discouraged. Windows 7's Media Foundation pipeline is what brings native support for H.264 to Windows 7 and makes use of DirectX Video Acceleration (DXVA) on supported graphics cards when available, all without requiring additional codecs to be installed.

The key to playing MKV content is to install a component which allows Windows 7 to 'open' (or more accurately 'split') the MKV container format to get to the H.264 and audio streams, and there are a number of simple ways to achieve this, the most common being installing Haali's Media Splitter (http://haali.su/mkv) or installing a codec pack such as Shark007's codec solution (http://shark007.net/).

This all works perfectly when using Windows 7 Media Center in isolation, as your sole entertainment solution directly connected to your LCD/Plasma and amplifier, but these splitters and codec packs do nothing for MKV playback when including one or more XBOX360 Extenders into your solution for remote access to media from other locations around the home. Even though Microsoft included H.264 support for XBOX360's in 2007, the MKV container is not supported. Since there is no option to install a splitter on the XBOX360 to gain access to the H.264 stream, the only way to get MKV files to play on an Extender is to transcode the content to a format which is supported by the Extender before streaming, and once again there are a number or ways this can be achieved. The problem is that transcoding is intensive, reduces video and audio quality, increases load and heat output on the PC doing the encoding, and is thus not desirable to be doing on your Windows Media Center PC which is most likely tucked away in a tight spot with minimal ventilation and prone to overheating (well mine is anyway). This can be solved by offloading the transcoding onto another PC or dedicated machine, but that's not always an effective or viable solution. Wouldn't it be nice if the H.264 stream in the MKV container could be decoded natively by the XBOX360? Well it can, using the DivX Plus Codec Pack from DivX. (http://www.divx.com/en/software/divx-plus/codec-pack).

The DivX Plus Codec Pack is free, and includes a MKV splitter for DirectShow and Media Foundation. When installed on a Windows 7 machine (Haali splitter and Shark007 codecs are not required in this scenario), it allows playback of the H.264 stream in MKV containers using the Media Foundation framework from both Media Center and connected XBOX360 Extenders, without requiring any transcoding. 

The problem (and actually the point of this post) is that the splitter included in the DivX Codec Pack pack does not include decoders for AC3 and DTS audio for licensing reasons - Microsoft only allows their Media Foundation AC3 decoder to be used with their own software. Unfortunately all filters currently available, such as AC3filter, are DirectShow-based. This means that while SD and HD video from MKV containers work perfectly on both Media Center and Extenders, audio channels are limited to stereo in most circumstances which makes this solution unworkable when needing to support MKVs on Extenders.

Just to prove this theory, I did a test of my own using a clean install of Windows 7 Ultimate x86 on a PC hooked up to a 5.1 amp using SPDIF, using the following test files;
  • MKV file with AC3 audio (5.1 audio track)
  • MKV file with DTS audio (5.1 audio track)
  • MPG file with AC3 audio (5.1 audio track)
  • AVI file with AC3 audio (5.1 audio track)
This was the result:-
1. With DivX Plus installed only;
  • MKV file with AC3 - Media Player: NO AUDIO / Media Center: NO AUDIO
  • MKV file with DTS - Media Player: NO AUDIO / Media Center: NO AUDIO
  • MPG file with AC3 - Media Player: 5.1 / Media Center: 5.1
  • AVI file with AC3 - Media Player: 5.1 / Media Center: 5.1
These results seem correct and to be expected since no third-party AC3 decoder was installed for MKV files, and supported containers output audio correctly in 5.1.

2. With DivX Plus AND AC3Filter 1.63b installed;
  • MKV file with AC3 - Media Player: 5.1 / Media Center: STEREO
  • MKV file with DTS - Media Player: 5.1 / Media Center: STEREO
  • MPG file with AC3 - Media Player: 5.1 / Media Center: 5.1
  • AVI file with AC3 - Media Player: STEREO / Media Center: STEREO
That's odd - Media Player seems to use the DirectShow-based AC3Filter correctly, but Media Center will only output stereo. Oddly, a standard AVI container with AC3 audio output 5.1 correctly before AC3Filter was installed, but also dropped to stereo after installation.

So there we have it, there doesn't seem to be any way to butter your bread on both sides at the moment; either you get full 5.1 audio in Windows Media Center and transcode to your extender, or get stereo in Windows Media Center and full MKV playback support on your extender without transcoding. Think I'll take the 5.1 audio option.

Build your own oil-submerged PC

Is your PC constantly overheating? Tired of noisy fans, heatpipes and pumps for water cooling? There's an easy solution - find an old fishtank, submerge your PC components in mineral oil, chuck in a few fish and you're cooking!

No seriously, although not Microsoft-related (unless your PC runs Windows), I found this idea of submerging the contents of your air-cooled PC case in mineral oil pretty cool. The guys in this video have submerged the PSU, motherboard and all components except for the hard drive to evenly distribute emitted heat and eliminate localized hot-zones, and they think it looks pretty cool. The whole solution is dead silent, except for the pump they use to add air for effect - maybe a solution for your HTPC?

Ummm......maybe not.

Check out the video:

Sunday, January 16, 2011

Media Browser 2.3.0 (Draco) finally released

After a number of slipped release dates (and the most extensive testing of any release), Media Browser 2.3.0 went RTM on the 14th - this is a significant release which addresses a number of performance issues, most notably issues centred around updating the library which caused quite a pain for users with large media collections. The library update process has now been moved to a service (no more high CPU utilization for the ehexthost process!).

Some highlights for this release:
  • Fixes for broken podcast handling
  • A number of fixes to the default theme
  • Prep work for Custom Intros prior to movies playing
  • Better Media Info Icons and fixes
  • Startup is significantly faster, no more artificial lag when playing HD content
  • Enhanced multi-version plugins support

Sunday, January 9, 2011

Remote Potato for iOS now available

Looking for a way to remotely access your Windows 7 Media Center Library (Music, Pictures, Videos and Recorded TV) from your iPhone/iPod/iPad? Look no further than Remote Potato for iOS, just released to the Apple Store (http://itunes.apple.com/gb/app/remote-potato/id378287173).

A number of applications have been available in the past which allowed limited remote access to Media Center libraries on iDevices, usually through some sort of web-based application, but Remote Potato for iOS is the first installable application to allow streaming of Recorded TV in Media Center's native WTV format.

Remote Potato for iOS provides the following functionality;
  • Stream Recorded TV (DVR-MS and WTV format) to your iDevice
  • Browse the TV Guide and schedule recordings
  • View the pictures library, download and email pictures 
  • Browse the Music library, listen to music live or sync music for offline access
Remote Potato for iOS requires a server component installed on your Media Center machine, and the client component on your iDevice from the Apple Store. The server component can be downloaded here: http://www.fatattitude.com/software/software-about-remotepotato.aspx

Screenshots: