Installing Ffdshow Software
AntiPack was intended as a starting point in that it only includes high quality hardware accelerated codecs for the most popular A/V formats, but does not support everything. If you need more, ffdshow should be next on your list. It provides the most full featured software video and audio decoder of any OSS or free DirectShow filter; because of this when installed and configured properly it is an excellent complement to what we started earlier. For me, the most important feature that ffdshow provides that isn't found anywhere else is DTS-MA support. While only core (i.e. DTS) is supported because the underlying libdts/libca does not yet support full MA, ffdshow will connect to splitters that present the proper DTS-MA media type (like the beta SageTV demuxer) without needing to transcode or recontainer the content prior to playback.
I don't generally recommend ffdshow to those just looking "to make it work" because it requires some tweaking beyond installation to ensure good behavior. Today we're going to walk through how to install it, and the basic configuration to make sure that it works they way you want. Keep in mind this is just an installation guide, ffdshow has many capabilities that are beyond the scope of this article.
This walk-through is based on the latest stable build of ffdshow tryouts (Beta 6), but there are much newer unofficial builds available; either way the installation process should be pretty much the same.
I almost left out screen shots of the less interesting dialogs in the install to make this shorter, but opted to include everything for completeness.
Choose a language.
Choose an install location and click "Next". If you change it make sure you remember the folder, you'll need it later.
VFW, or Video for Windows, is a media framework that predates DirectShow and
as far as I know the only current use is for transcoding. The other
options are all more advanced features beyond the scope of this guide.
If you plan to use ffdshow for transcoding leave the box checked,
otherwise uncheck the box and select "Next".
Here's where the install gets interesting. This page is where we have the option to choose which codecs ffdshow will support. Don't worry, it's easy to reconfigure if you change your mind later. Click the "Decode the following video formats with ffdshow" checkbox twice to clear all the selected video codecs, then walk through the list and specifically opt in on the codecs you want it to handle. I use a combination of the modified MPC-HC video decoder in AntiPack and some professional filters for most of my video needs, so there isn't much here for me to select.
You may need some of the more obscure codecs on the second page like MJPEG or CamStudio though. If you'd prefer to select everything and use merit to control ffdshow that's also a viable approach, we will cover setting ffdshow's merit in a bit.
I use the same opt in approach for audio as video, so click "Decode the following audio formats with ffdshow" twice to clear all the selections.
While I'm not a big fan of the ffdshow video decoder (you probably guessed that already :)); the audio decoder is quite useful not only because it works, but also because it handles audio stream switching very well. Because of this I enable most of the audio formats even though in some cases another filter (like AC3Filter) is my preferred filter for that type. Note that DTS-MA is not on this list (or the audio decoder configuration dialog we'll look at later) if you want to decode DTS-MA core you must enalbe DTS. Also note that while AC-3 and Dolby TrueHD are presented as separate options, AC3 must be enabled for TrueHD decoding support.
And some more audio codecs, select what you want and click "Next".
If you want to bitstream AC-3 or DTS select the appropriate box for S/PDIF passthrough and click "Next".
I prefer to listen to audio in the native format so I disable the mixer. If you'd prefer that ffdshow expand the audio, select the appropriate option for your setup and click "Next".
Almost done, click "Install".
Because we're going to change the merit for both filters which will require escalation, it's best to uncheck both "Run..." options.
Should be easy enough to find the ffdshow configuration links on the start menu, right-click and select "Run as administrator".
But when we do that it doesn't work because the paths in the shortcut aren't created correctly. What this means for anyone running in a limited user context (Vista or 7 with UAC enabled) is that ffdshow is now installed with a ridiculous merit, and it's not immediately clear how to fix it. To make matters worse, when the configuration dialogs are run normally from the start menu, merit control is allowed and the UI fails so gracefully that the failure is hidden from the user. The only obvious way that I could find to discover the problem was to relaunch the dialog and check.
Fortunately working around this issue is relatively easy. By opening an escalated command prompt and typing "rundll32.exe "\Program Files\ffdshow\ffdshow.ax",configureAudio" the audio dialog will launch in the correct context enabling us to change the merit to more reasonable value. To make it even easier, two cmd files can be downloaded with the command already included (if you changed the install directory here's where you'll want to remember). Just right-click the correct file and select "Run as administrator" to launch.
Let's start with the video decoder. Run the cmd file, then select "DirectShow control" on the left. Pull the merit slider from "ffdshow default" to a more appropriate value like "normal". I use "unlikely" because I want ffdshow's video decoder to only provide coverage.
And codec support is controlled from the "Codecs" page; run wild. There is a lot more to the video decoder, including post processing for image quality. This is only intended to be a quick install guide and walk through, so we'll leave that for another time. Go ahead and click "OK" and let's move on to the audio decoder.
After launching the audio decoder configuration dialog with the cmd file (remember to right-click and run as admin), browse to the DirectShow control screen and select a more reasonable merit. Because I like the audio decoder, I go with "normal".
Like the video decoder codec support is managed on the codecs page. From here you have a lot of control, clicking on the "Decoder" column even lets you choose which OSS library will handle the format.
If you've changed your mind since the install on how you want channel mapping to occur, browse over to the "Mixer" page. If you opted to disable it, make sure you check the "Mixer" box at the top before leaving the page.
The last screen we're going to look at is "Output". This page is where we can toggle between S/PDIF and PCM, control sample formats, and even have ffdshow encode PCM to AC-3 for bitstreaming (have to remember add this as an option the earlier article on multi-channel audio). Click "OK" to save the settings and you're done.
And that's it, when done you should be able to play and hear any and all video formats which you have configured the software to do. Feel free to post any comments/questions in our Forum link below.