Windows Media Streaming with DrivePool

From Covecube - Wiki

What is media streaming?

Media streaming is not available on the Small Business Server but only on the Windows Home Server 2011 and Windows Storage Server 2008 R2 Essentials.

In a nutshell, media streaming allows you to stream photos / music / videos to other devices or software.

That's kind of a broad description, so I'll give you a few concrete examples:

  • You want to stream a video from your server to another PC in the house.
  • You would like to stream some media to your xbox.
  • You would like to watch an HD video on your network media player connected to your TV (such as a WD TV Live).

What kind of devices can you stream to?

DLNA compliant devices (and UPnP AV compliant devices).

What about codecs?

The media streaming system on WSS will re-encode the video on the fly if the target device doesn't support the required codec. It should work 100% of the time when you're pulling video from the server, as long as windows media player can read the format on the server.

There is another thing called the "Play To" feature, which is a little more complicated. This allows one device to play to another device. Using the "Play To" feature is a little more unreliable, and might not work all the time due to codecs, so I recommend you make believe that it's not there.

Does it work with DrivePool?

Yes. You can stream media directly from the pool. You simply enable media streaming on the pooled folder in server settings.

What can go wrong?

Media streaming as it's implemented on WSS is fairly complex and has a lot of moving pieces that have to all work in tandem. Sometimes, one of these pieces falls out of sync with the others and strange things start to happen such as not being able to access movies that you see in the list of available media, or seeing doubles of everything and only one copy actually working.

The fix

To resolve this and other media streaming related issues on the Windows Server Solutions family of Operating Systems I've just posted a new WSS Troubleshooter. This is a single EXE wizard that you place on the server and run. For now it has but a single task, Reset media streaming. Eventually it will have more repair tasks as we discover other things that can be fixed in an automated way.

This particular repair task is not only applicable to DrivePool but can be run on any WSS server, but it does have some special logic built-in for handling DrivePool folders.

Download on this page: Windows Server Solutions Troubleshooter

Adding Video Format Support

It's worth mentioning that even though Microsoft's implementation of media streaming will transcode the video on the fly if the destination device doesn't support the codec natively, it will only do so if it can read the actual media file in the first place.

One common format that the server can't read is MKV. So any MKV files that you might have will NOT stream with the built in media streaming, out of the box.

In previous versions of Windows it was possible to augment the Windows Media Player to support additional media formats (file containers and codecs) by installing DirectShow filters. Starting with Windows 7, and as a consequence also in the WSS class of operating systems such as the Windows Home Server 2011, Microsoft introduced a new media framework. It's called Media Foundation and is not compatible with most of the existing codec packages out there. This is why installing your favorite codec pack on the server might not fix your media streaming woes.

But don't worry, there's a simple solution to this problem. It's the DivX codec pack.

Download: http://www.divx.com/en/software/divx-plus/codec-pack

The folks at DivX have cracked this nut and have developed a codec pack that works well with the new framework and adds support for streaming MKVs using the built-in media streaming framework. It's a free download so just grab this EXE and install it on your server.

MKV as video

Unfortunately, just installing the DivX codec pack doesn't make Windows Media Player classify .MKV files as video files. In order to do that you will need to apply a registry patch.

Just download the Enable .reg file to the server and double click on it to apply the changes. Then restart the server.

Make sure to run the registry file from a 64-bit application such as Windows Explorer. Running this from within a 32-bit application such as Total Commander will not apply the settings correctly.

Audio

There is one additional gotcha regarding audio codecs. Even though the DivX codec pack will add support for the popular MKV format it will not add support for decoding DTS or AC3 audio. Those are very popular formats for encoding multi-channel surround sound. This will not be a problem when your DLNA player supports those codecs, but it will become an issue if the server needs to transcode the video for playback on a device that doesn't support the right codecs.

There's a simple solution to this as well. The AC3Filter adds this missing support.

Download: http://ac3filter.net/wiki/AC3Filter

You should reboot the server after installing.

Summary

After you've installed the DivX codec pack, applied the MKV registry patch and installed the AC3 / DTS filter your media server is now a more capable general purpose DLNA server. You will be able to stream videos to all the various DLNA devices and transcode the video for devices that don't have the necessary codecs, even with multi-channel DTS / AC3 audio.

Here are the necessary downloads one more time:

  1. http://www.divx.com/en/software/divx-plus/codec-pack - DivX codec pack.
  2. Enable MKV / MKA as Video / Audio in Windows Media Player 11 (x64) - Enable MKV as video, MKA as audio.
  3. http://ac3filter.net/wiki/AC3Filter - Transcode AC3 / DTS multi-channel audio.