My codec guide for Windows 7 Media Center.

By | July 16, 2010

While not totally inclusive, I decided to document my current codec guide for playing everything I have in my media library in Windows 7 Media Center using Media Browser.  I emphasize “current” because it does change from time-to-time.  I won’t get into that, however.  There are codec “packs” out there that simplify this process for the majority, but as good as some of them are, or claim to be, I still find they install more than I want and/or take away certain levels of control I want over my playback options.  However, for the majority that just want to watch their movies, I’m sure they will be the #1 option for you and there’s nothing wrong with that.  I just don’t want to have to rely on a third-party to figure out what went wrong if something breaks.  If I know exactly what I have on my system and which components control their respective formats, then I know where to look if something goes wrong.  I also know exactly where to go if I want to adjust anything for my own preferences.

First, let me outline a few conditions of this guide:

  • I play everything within Media Browser
  • I don’t have any music files
  • I don’t use any external players
  • I don’t use full DVD/BluRay folder rips or ISO
  • I don’t have any hardware that can make use of HiDef audio formats (TrueHD, DTS-MA, etc.)
  • My HDTVs only go to 1080i
  • All titles that have subtitles use external subtitle files (srt, idx/sub and a couple ssa)
  • I encode everything, although I have stopped encoding audio.  I have a wide array of file formats because of this (I’ve encoded for a looooong time)

That said, many of you could probably get by on even less than what I’ll include here.  However, I’ve got so many file formats and codecs in my collection, I pretty much consider that I have just about anything that’s out there in my collection.

What You Need

Next, what you’ll need to get in order to use this guide:

  • ffdshow – I prefer the clsid tryout builds.  You can get both x64 and x86 versions here.
  • Haali Media Splitter –  x86 version available here.  x64 version is available in the Downloads section.
  • VobSub/VSFilter v2.39 – x86 installer is here.  The x64 dll is here.  If you absolutely, positively do not use subtitles, then you don’t need this.  Doesn’t hurt to have though.
  • CoreAVC Pro – This is commercial software, but it’s dirt cheap and I would highly recommend it if your HTPC has a CUDA-capable GPU, or if your HTPC is on the low-end and sometimes struggles with h.264 encoded content.  Otherwise, it is optional.
  • Win7DSFilterTweaker - Windows 7 uses the new Media Foundation for playback, so DirectShow filter merits don’t apply like they used to.  This utility will set your preferred codec for you and allow you to disable any Media Foundation codecs that may still “get in the way”.

Installation

I’m not going to cover the installation of each of these softwares.  You can simply accept the default for each and every one of them.  The only exception is the 64-bit version of VSFilter.  It is a DLL and requires some work.  What you will need to do in this case is extract the VSFilter.dll to a location easy to get to (I suggest C:\Windows\SysWow64 or C:\) open a command prompt with Administrator privileges (this guide is beyond you if you don’t know how), change the current directory to C:\Windows\SysWow64 and perform the following command (assuming vsfilter.dll is in C:\Windows\SysWow64):

C:\Windows\SysWow64>regsvr32 vsfilter.dll

You should receive a confirmation window displaying successful registration.  If not, I’m sorry.

Configuration

Now for the fun part – picking and choosing from the thousands of settings that are spread across these applications!  Nah, it’s not really that bad.  We don’t need the majority of what’s available to us…if you know what you’re doing, it can improve upon your playback at times, but we’re just wanting to get things working…right?

  1. Haali Media Splitter will be the first to configure, mainly because it’s the easiest.  Go to your Programs menu, locate it and click on the Media Splitter Settings shortcut to open.  Click the Options tab, expand Compatibility, select AutoLoad VSFilter and change the value selection at the bottom to Yes.  This will enable subs for anything Haali is used for.  Click OK and you’re done with that.
  2. ffdshow needs to be configured for both audio and video, so we’ll go over both of those separately:
    • Open the Audio Decoder Configuration and go straight to Codecs.  I let ffdshow handle all of my audio decoding, so the defaults should be good here.  Next, scroll down to Output and pay close attention here.  If your receiver supports any of the items listed in Pass-through, then enable it.  Mine only supports AC3 and DTS, so that’s all I have checked.  Next, ensure 16 bit integer and 24 bit integer are checked.  Further down, locate AC3 (S/PDIF encode mode) and place a check in there (if your receiver accepts AC3 via S/PDIF).  Finally, locate Connect To: and change the value from any filter to DirectSound and make certain Apply only to S/PDIF output is unchecked.  Click Apply and close the audio configuration utility.
    • Open the Video Decoder Configuration and go straight to Codecs.  If you installed CoreAVC Pro 2.0, you will want to set H.264/AVC to disabled.  Everything else should be assumed the default.  Scroll further down and ensure that Subtitles (or anything else, unless you know what you’re doing) is not enabled.  Click Apply and exit the video configuration utility.
  3. If you chose to install CoreAVC Pro 2.0, open the CoreAVC Video Decoder Properties utility.  You will want to make sure Preferred decoder is unchecked (trust me here).  I also like to enable Use Tray Icon so I know that it’s actually being used.  Finally, if you’re using a CUDA-capable GPU, put a check in Prefer CUDA acceleration.  Click Apply and OK to close.
  4. Open Win7DSFilterTweaker by double-clicking the executable.  It does not have an installer as it’s a stand-alone application.  If you have UAC enabled, it will require you to grant it permission to run.  There are a lot of settings here and some of it may scare you if you’ve never seen it before.  Do exactly as I say and everything will be fine (knock on wood).  For the first page, set each of the following as I have outlined below (as pertains to your OS, either x86 or x64):
    • H.264 – CoreAVC (if installed), ffdshow otherwise (ffdshow DXVA if you know what you’re doing)
    • XVID – ffdshow
    • DIVX – ffdsow
    • MP4V – ffdshow
    • VC-1 – Microsoft (ffdshow DXVA if you know what you’re doing)
    • MPEG-2 – Microsoft
    • WMV1-3 – Microsoft
    • WMVA – Microsoft
    • AAC – ffdshow
    • LATM AAC – Microsoft
    • MP3 – ffdshow
    • MP2 – ffdshow
  5. Click Apply after confirming the above.  You will receive a couple of dialog boxes that warn you about changing the MP2 and MP3 decoders…just click Yes.  The warnings are why we switched the Output in ffdshow to DirectSound and disabled Apply only to S/PDIF output.  If you read that warning, it told you that this was one of the tweaks that would fix it.  Well, I’ve encountered DirectSound giving me garbled audio with some formats, so I had to use Connect To: WaveOut instead of DirectSound and that resolved the issue.  Try both and if DirectSound works for you, go with it.
  6. The next page configures the containers that will be disabled for Media Foundation.  I select them all, so you should too.  Click Apply.  x64 users will get two sections…if you only have 64-bit codecs installed, just select them all on the 64-bit side (remember, this is for Media Center/Media Browser only).  If you’re on a 64-bit OS and choose not to install 32-bit codecs, Media Foundation will take care of them for you.  However, Media Center on a 64-bit platform uses the x64 version of Windows Media Playback, so it’s an unnecessary step on a dedicated HTPC.
  7. The final page is for additional tweaks.  You will want to put a check in the following:
    • Disable Mpeg4s Decoder DMO
    • Disable Mpeg43 Decoder DMO
    • Disable MP3 Decoder DMO
  8. Why did we disable those in #7?  Well, the Mpeg4s and Mpeg43 are older MPEG-4 types that I’d rather ffdshow handle.  I found that it won’t unless I completely disable them here.  The same goes with MP3…the Microsoft decoder will hijack it when it exists in some containers, so it had to go.  Click Apply and Exit…you’re done!

You can now test this out.  If you’re on 32-bit Win7, you could easily try it out using Media Player.  If on x64, I’d open Media Center in windowed mode and try from there, just so you are absolutely certain you’re using the x64 Media Player and not the 32-bit version.

Take notice of the green CoreAVC tray icon – that signifies CUDA hardware accelerated playback.  Not a biggie, except that my screenshot also shows VobSub is actively displaying subtitles.  Yes, full hardware accelerated h.264 playback with subtitles is easily handled with my setup.  Haali and ffdshow audio tray icons are also there.

As I said in the beginning, this is not an all-inclusive guide to  playback.  There are too many combinations of codecs, containers, hardware and software to make that a possibility for me to provide you.  I could guess, but that only leaves you with a headache if something goes wrong.  On the other hand, I do have a fairly common setup, so many of you should be able to follow along with these settings with no problems.

For further tips on codec configuration that may be used in conjunction with this guide, see my post on using ffdshow and AC3Filter here, or using ffdshow DXVA for hardware acceleration with subtitles here.

Update:

I thought I may include a couple of other tips that may help in case you would like to get Dolby Digital audio output to your receiver for all audio formats.  The guide, as it is, may not do that for you in all cases.

First, you will need the ffdshow Output section Connect To: set to DirectSound, or this won’t work for you.  The first thing we want to do is to go to the Resample section in the ffdshow audio configuration utitlity.  Place a check in it to enable it and then set the following:

  • Resample to 48000 Hz
  • Select the Resample if sample rate is radio button and click the button to choose
  • lower than 48000

This will take any audio source and make certain that it is always sampled at 48KHz.  My receiver will accept others, but I do have a mix in there and if it’s not a supported sample rate, it won’t go out as Dolby Digital.  You can also select a different setting under Mode: if you want.

The next thing we’ll do is go to the Mixer section – place a check in there to enable it.  Now, go to Output speakers configuration: and select same as input from the dropdown.  Ultimately, this will take all audio formats, aside from those going directly via S/PDIF, make certain they are sample at 48KHz, transcoded to AC3 audio at 640Kbps and the output via S/PDIF to your receiver.

You can also play around with the Center, Surround and LFE sliders if things are a little off in your outputs.  I like to increase the Center and Surround to taste.  You can also change the Output speakers configuration, but don’t expect Dolby Digital output if you do.  It can be useful for 6.1, 7.1, etc. configurations, however.  It will go out PCM, but does sound really nice if you have one of those speaker configurations.  I do it in my living room :)

I selected this post to be featured on my blog’s page at Interesting Blogs.

22 thoughts on “My codec guide for Windows 7 Media Center.

  1. Michael

    THANKS!!!! I haven’t even read this yet, but thanks. I have orig. set up my rig for Media Portal about a year ago and gave up b/c my HD Homerun tuner would never play nice with Media Portal in Windows 7 RC and Media Portal didn’t have any good Netflix solutions in Vista, so I lept over to Media Center (thank god for Media Browser) many months back and have been with it for a while.

    But it also occurred to me that I might want to revisit the whole codec issue since I’m now using Win7MCE almost exclusively on Win7 Home Premium and all was set up assuming Media Portal on Win7RC or Vista.

    Thanks, thanks thanks!

    MRL

    Reply
  2. migmac

    Great tutorial! I was trying to play 1080p content on my Acer Revo 3610, I was not able to find a way to have CoreAVC plus subtitles at the same time inside media center (x64). After applying your tutorial, I was able to play 1080p videos smoothly, but no subtitles were displayed (all the icons you mentioned were loaded into system tray including vobsub). After playing with configuration I found that I had to set the option “Use custom media type for H.264″ to NO on Output menu of Media Spitter Settings. Can you confirm if this is right?

    Many,many thanks! I made my day with this. I was trying to set this up for a long time!!!!

    Reply
    1. Jon Post author

      That’s not something that I had to change as mine is set to “Yes”. The way I look at it however, is that if it works for you, go with it :)

      However, disabling that may actually cause CoreAVC to not be used in WMP/Media Center. Are you using MPC-HC as an external player?

      Reply
  3. john

    ty for the tutorial i am lost when it comes to this. i am backing up my blueray library and have switched to a 64bit version of win7 and mce with media browser.
    my question is do i need to always install both x86 and x64 versions of every program and filter i install. and if so do i need to configure them both or just the 64 bit version?

    Reply
    1. Jon Post author

      On x86 you only need the x86 versions. For x64 you only need the x86 versions if you plan on using 32-bit Media Player (default) outside of Media Browser, or launch any 32-bit external players. Otherwise, you only need 64-bit codecs…that’s all I use.

      Reply
  4. Elad

    Hi,

    Having problems with MKV file with VC-1 video stream.
    The problem is video is not showing when the graph is like this:
    Mkv –> Wmvideo dec. dmo –> Vsfilter –> Video renderer.

    Vsfilter is to blame… Without it, it works fine.

    Mkvs with h.264 video streams works perfectly with Coreavc –> vsfilter graph.

    Using Win7 x64 btw…
    Thanks!
    Any clue how to solve this?

    Reply
    1. Jon Post author

      You may have to ditch VSFilter, force ffdshow to be used as your filter for VC-1 using Win7DSFilterTweaker and then set up the ffdshow DXVA with subtitles like I did here. There are a few other things that could be tried, but they all pretty much involve forcing ffdshow as the preferred decoder for VC-1 material. Using that guide will at least still provide you with hardware acceleration.

      Reply
  5. Jamie

    Thank you Jon for this great guide, I now have subtitles working on a x64 media centre system for the first time, however…

    While the solution works fine for my foreign films, I also have many dvd’s which I recently ripped using makemkv that are in my language and they now also have subtitles showing (English audio + English subtitles), and there appears to be no option to turn them off.

    Do you have any suggestions as to how I could turn them on/off depending on the film?

    Reply
    1. Jon Post author

      If you’re using ffdshow for all decoding, you can use Media Control to switch subtitles. It is probably the most widely used. If you’re using ffdshow in conjunction with other decoders, you could give MCERemotePlus a try (you may prefer this anyway).

      Reply
      1. Jamie

        Cheers Jon, I have looked into both programs, and while MCERemotePlus definitely looks the best (and simplest) solution, I simply can’t get it to operate under media centre x64. Media Control is working on most films, however media centre will no longer play the dvd’s I ripped using makemkv, and displays the ‘this file cannot be played’ message! I was thinking of deleting all those anyway and just copying the dvd files across so I have full dvd menus etc anyway. I guess this has just given me a reason to get on with it.

        Thanks again!

        Reply
        1. Jon Post author

          That’s unfortunate. I know someone that uses MCERemotePlus and was sure they were on x64, so I will have to double-check. Doesn’t make sense that Media Control doesn’t work on the MakeMKV-created files, but I have not used it in a long time. I will find out if there is anything special to get MCERP working on x64 that you can try before re-ripping part of your collection…unless you just want to :)

          Reply
        2. Jamie

          I have asked on the MCERP forum post on xpmediacentre.com.au about x64 support, hopefully there will be a solution. Also as an update, I realised that my makemkv-produced mkv files were in h.262 which I read up about and found that h.262 is actually just mpeg-2, so I altered ffdshow to handle mpeg2 with libavcodec (originally this was set to disabled) and now they are working again in MC.

          Any news on MCERP + x64 would be greatly appreciated, and I just want to thank you again for taking the time to help me with this, I have never been as happy with my media centre setup as I am now :D

          Reply
  6. Hernando

    Thank you Jon, I will follow this guide if I need to setup new gear. A quick question. How do you toggle the displaying of subtitles when watching a movie? In my current setup, I have to exit WMC run the VSFilter_Enable command then go back into MB and restart the movie (I rarely get the Resume play option in MB). This makes it quite awkward to do if you suddenly run into a movie where the are speaking in a foreign language that is dubbed.

    Thanks again!

    Reply
    1. Jon Post author

      I don’t toggle and there’s no built in way to do it. You pretty much will have to try and get something like MediaControl configured to work for that, but you will require ffdshow for everything since that’s all it works with.

      Reply
      1. Hernando

        So you always have your subtitles on? Do you use MediaControl. I installed a new following your guide on a test laptop. I will do my best to play with this and MediaControl. I was curious as to how you “treat” subtitles. Thank you Jon.

        Reply
        1. Jon Post author

          I only include forced subs, so if they aren’t required, they don’t exist.

          Reply
  7. Hernando

    Got it… this is the advantage of ripping your own, vs…. Thank you again.

    Reply
  8. bubu

    Thanks for your guide,
    Windows Media Player has the best image if you use a HDTV, and Ive tried a lot,

    one question, is it possible for ffdshow to output to receiver even if SPIDF out is not the default playback device in W7 settings?
    I have to change often from speakers to spidf and thats a bit frustrating,
    a lot of players (foobar) use the device configured in the player settings regardles of the windows playback default,
    Thanks,

    Reply
    1. Jon Post author

      Hmmm…not sure as I’ve never tried it. After looking at the settings in ffdshow, I’d have to guess that it would not, unfortunately. Hope I’m wrong for your sake :)

      Reply
  9. Michael

    OK, for starters, I want to to thank you for this unbloated guide. I went from racking my brain and trying to get shark 007 to work with all my media files. AAC just wouldn’t show up as dolby and if it did something else was broke. (I did manage at one time to get this to work but I have yet to figure it out again. I even wrote down my settings and reentered when I reinstalled windows.
    So with that, I have one question I am a huge fan of windows media center live tv. I have it working when codecs aren’t installed but the trade off is none of the other codecs will play. So does anyone have a work around or another piece of software that works with live tv? THx for your reply in advance..

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Powered by sweet Captcha