Setup a Proper Playback Chain in Windows

Since more and more people have been coming to this site, I have received a number of requests asking me to write a guide for setting up the software which is often used in many of the encoding programs that I have detailed in previous posts (ex. BD Rebuilder, multiAVCHD, HDConvertToX, etc...).

In truth, it's all quite simple to setup. Most of it is just download and install. However, some of the programs required need a little more configuration to get them working properly. That's why this guide is here.

First off, let's decide which programs we need.

  1. Avisnth:Necessary for pretty much any encoding software. It's essentially an advanced scripting language built specifically for video. Don't worry though, you won't have to learn the language. We just need the support files.
  2. Haali's Media Splitter: This is necessary to "split" (aka. open) a number of file formats that you often see floating around on the internet. Mainly MP4, MKV, and M2TS files.
  3. FFDShow: This bad boy does a majority of the brute-force decoding work. With this installed, you can decode pretty much any video you can shake a stick at.

These are what I often call the "Big Three". I say this because practically every program I know makes use of them in one way or another. The rest of this guide will be all about installing and configuring these wonderful pieces of software so as to ensure a 100% working playback experience.

I have been using these software and this setup configuration for years (on both Windows XP and Windows 7) so I know that it works. Let's hope that this guide will solve all of your decoding problems!

Update: After reading this tutorial, take a look at this additional guide for specific Windows 7 features.

Step 1)

Download all of the necessary software. Here are some quick links to the download pages.

Avisynth: Download

Version 2.5.8 is fairly recent and has proven to be quite stable, so I recommend you use it.

Haali's Media Splitter: Download

Note: As described in this Doom9 thread, the latest version of Haali's Media Splitter have a bug where VC-1 encoded video in a m2ts container (often seen on Blu-rays) is not properly split. I recommend using the build until these issues can be resolved. There is a beta build that theoretically has most of these issue resolved, but remember it's beta so if you encounter any problems, use the stable build mirrored by Jdobbs (the author of BD Rebuilder).

UPDATE: As of May 20, 2010, Haali has released a new version of the splitter which fixes a number of bugs (including the VC-1 in M2TS bug). It even added support for WebM!

FFDShow: Download

I've had no problems using the latest version, but if you want to feel safe, go ahead and use the "beta" release that they have posted, which is probably more stable than most "stable" software that I have used.

Step 2)

Install Avisynth. This is a very straightforward process and I will not be including screenshots, as the defaults are perfectly fine for any installation.

Step 3)

Install Haali's Media Splitter. Again, the default install should be fine, but here is a reference screenshot for the default installation settings.

[![The splitter settings set in the end of the Haali Media Splitter install process.][]][]

Step 4)

Begin installing FFDShow. There are several configuration options available throughout the process, so I'll post screenshots of each step as we go.

When you first begin the installation, it will ask you the normal installation questions (like destination directory). The options are perfectly safe to leave at default.

Eventually you will encounter a screen like the one below. As you can see, the installer will automatically detect our Avisynth install. If you had Virtualdub or DScaler installed, it would detect those as well.

[The general FFDShow install settings.][]

Since these options are fine, go ahead and click Next.

Step 5)

Next up are the audio configuration settings. I normally have my computer setup to play all of its audio through my stereo speakers, so I chose to use the 2.0 (stereo) option. Many of you will either Disable Mixer or choose a 5.1 setup. I trust that you will know which setup is right for you. If not, post in the comments and I will help you to choose.

[The audio decoding setup specified in the FFDShow install.][]

Step 6)

Okay, you will continue on for a few more screens (all of which you can just leave at default), and then your installation will end on this screen. Click the Run video decoder configuration checkbox, as we want to configure some more decoder options before we are done.

Click Finish.

[![The video configuration checkbox on the final FFDShow install window.][]][]

Step 7)

This is a section of the main FFDShow window that will pop up after clicking Finish in the FFDShow installation window. I have shown below what a normal decoder setup looks like. Again, you can leave these particular options at default.

[The main video decoder settings window for FFDShow.][]

Step 8)

Scroll down the list until you see the VC-1 option that I have highlighted below. This is a very important option, and is often the root cause behind a lot of decoding problems with BD Rebuilder. The key to success is to have this option set to WMV9, and to have the latest version of Window Media Player installed. If you have Vista or Windows 7, you will probably be okay with your default Windows Media Player.

However, if you are using Windows XP, you may want to upgrade your player. Windows Media Player 11 has been known to work flawlessly.

For those of you who are curious, VC-1 is the encoder used on a large portion of Blu-rays. VC-1 and H264are the two primary codec (COmpressor / DECompressor) standards used in today's modern media.

[The VC-1 specific decoder settings for FFDShow][]

Step 9)

Last, but not least, scroll to the bottom of the list. You will see a decoding option labeled RAW. This needs to be set to YV12 as I have shown below.

Well, not exactly. The reason I have this option turned is because AVIsynth requires a YV12 (a particularly popular colorspace) decompressor. If you already have something like Xvid installed, then you should be fine. If you have no idea what I just said, then configure the RAW option like I have done below.

[RAW video decoder settings for FFDShow][]


That's it! We are done!

You should have a fully working decoder "chain" that will allow you to play everything from Blurays to MP4 and MKV videos to Avisynth scripts. A majority of the encoding software out there (MeGUI, BD Rebuilder, MultiAVCHD, RipBot, just to name a few...) all use Avisynth and FFDShow's decoders in some way. By properly configuring your decoding setup, you will save yourself a lot of wasted time and headaches in the future.

If you have any questions, feel free to post in the comments and I will answer them as soon as I can.


[The splitter settings set in the end of the Haali Media Splitter install process.]: {filename}/images/2010/05/Decoding_Chain_General_Haali_options.png "Decoding Chain Haali Options" [![The splitter settings set in the end of the Haali Media Splitter install process.][]]: {filename}/images/2010/05/Decoding_Chain_General_Haali_options.png [The general FFDShow install settings.]: {filename}/images/2010/05/Decoding_Chain_General_FFDShow_settings_1.png [The audio decoding setup specified in the FFDShow install.]: {filename}/images/2010/05/Decoding_Chain_General_FFDShow_settings_2.png [The video configuration checkbox on the final FFDShow install window.]: {filename}/images/2010/05/Decoding_Chain_General_FFDShow_settings_3.png "Decoding Chain FFDShow settings 3" [![The video configuration checkbox on the final FFDShow install window.][]]: {filename}/images/2010/05/Decoding_Chain_General_FFDShow_settings_3.png [The main video decoder settings window for FFDShow.]: {filename}/images/2010/05/Decoding_Chain_General_FFDShow_settings_4.png [The VC-1 specific decoder settings for FFDShow]: {filename}/images/2010/05/Decoding_Chain_General_FFDShow_settings_5.png [RAW video decoder settings for FFDShow]: {filename}/images/2010/05/Decoding_Chain_General_FFDShow_settings_6.png