Installing Ffdshow Software

Sep 21 2009

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. 

Ffdshow

Choose a language.

Ffdshow

Click "Next"

Ffdshow

Choose an install location and click "Next".  If you change it make sure you remember the folder, you'll need it later.

Ffdshow

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".

Ffdshow

Click "Next

Ffdshow

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.

Ffdshow Codecs

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.

Ffdshow Audio and Video Codecs

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.

Ffdshow Video Decoder

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.

Ffdshow

And some more audio codecs, select what you want and click "Next".

Ffdshow Audio Codecs

If you want to bitstream AC-3 or DTS select the appropriate box for S/PDIF passthrough and click "Next".

Ffdshow AC-3 and DTS

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".

Ffdshow

Almost done, click "Install".

Ffdshow

Because we're going to change the merit for both filters which will require escalation, it's best to uncheck both "Run..." options.

Ffdshow

Should be easy enough to find the ffdshow configuration links on the start menu, right-click and select "Run as administrator".

Ffdshow

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.

Ffdshow

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.

Ffdshow

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.

Ffdshow

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.

Ffdshow

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".

Ffdshow

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.

Ffdshow

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.

Ffdshow

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.

Comments

Sorry, Im trying to play my torrent downloads from my NAS to my newely build HTPC, (ati 5570 HDMI) for instant I cant open up a XVID movie file...  even though I loaded down a XVID CODEC.   I thought streaming my movies would be easy but there seems to be another brick wall to climb over... if I bought a AV receiver HDMI in and out would this deal with the problem or do I still need all these codecs?

my apologies for my ignorance

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Website design by Yammm Software
Powered by Drupal