Running ffdshow64 in Windows Media Player 12 on Windows 7 x64
Sunday 30th August, 2009 18:39 Comments: 0
I've been pretty happy with Windows 7 RTM so far, but one annoyance that took some time for me to resolve was getting ffdshow to decode my H.264 videos. Because Microsoft now natively support MPEG-4 AVC, it is very difficult to get Windows Media Player 12 to use another codec, such as ffdshow. This is quite annoying (for example) if you're used to watching Matroska (.mkv) files that have embedded subtitled, which ffdshow will quite happily display. I also want to use 64 bit codecs, seeing as I'm using Windows 7 x64. It doesn't help that there's a lot of crap posted on the internet, such as scripts that modify registry keys or files in the release candidated that are now controlled by TrustedInstaller in RTM.
So here are the facts:
If you only plan on using the x86 version of WMP you can stop here. For those of you that enjoy making things difficult for yourself and really want to move to WMP x64, you still need to do a few things to ensure that the x64 version of WMP runs (which uses the ffdshow64 codec):
Open an elevated command prompt as administrator and type the following command:
%windir%\system32\unregmp2.exe /SwapTo:64
Open regedit and navigate to
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\wmplayer.exe
Set the "(Default)" subkey to "%ProgramFiles%\Windows Media Player\wmplayer.exe" (this was already set on mine, probably after running the /SwapTo:64 command above).
Set the "Path" subkey to "%ProgramFiles%\Windows Media Player"
After doing all of that, you should now be able to watch Matroska files using the x64 version of WMP using x64 codecs.
For reference, if you want to swap back, run:
%windir%\system32\unregmp2.exe /SwapTo:32
Then reset the registry key values i.e. add the (x86) bit back in.
So here are the facts:
- The easiest ways to set the default filter in WMP is to use the Preferred Filter Tweaker for Windows 7. I know some people (e.g. shark007) don't approve of this, but this is the simplest way to do it and - importantly - it works.
- There is a 64 bit version of Haali's Media Splitter. No it's not linked on his page, but it can be grabbed off his website. It's right here and it seems to work fine.
- You need the 32 bit version of ffdshow for 32 bit applications and the 64 bit versions of ffdshow for 64 bit applications. I've chosen to use the generic and 64-bit SVN builds by CLSID. There's also an icl10 version that uses SSE, which should be slightly faster, but they appear to be older builds.
If you only plan on using the x86 version of WMP you can stop here. For those of you that enjoy making things difficult for yourself and really want to move to WMP x64, you still need to do a few things to ensure that the x64 version of WMP runs (which uses the ffdshow64 codec):
Open an elevated command prompt as administrator and type the following command:
%windir%\system32\unregmp2.exe /SwapTo:64
Open regedit and navigate to
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\wmplayer.exe
Set the "(Default)" subkey to "%ProgramFiles%\Windows Media Player\wmplayer.exe" (this was already set on mine, probably after running the /SwapTo:64 command above).
Set the "Path" subkey to "%ProgramFiles%\Windows Media Player"
After doing all of that, you should now be able to watch Matroska files using the x64 version of WMP using x64 codecs.
For reference, if you want to swap back, run:
%windir%\system32\unregmp2.exe /SwapTo:32
Then reset the registry key values i.e. add the (x86) bit back in.