A few weeks ago I put together Part I of my guide on how to set up Bitstreaming with your Windows 7 HTPC . Part I focused on using Media Player Classic, so Part II will focus on setting up bitstreaming using WMP12/W7MC. This gets a little tricky, so you will see why after reading this guide my recommendation is just to use MPC-HC if possible. Much of the issue at hand revolves around Windows Media Foundation, which does not support VC-1, DTS or HD Audio. An example of this would be if you have a VC-1 m2ts movie with TrueHD audio track and try to play back in WMP12 or WMC you will see no video or hear any audio. So unfortunately this means we need to hack around a little to get “proper” playback. Much of this guide is based on AVSForum member renethx’s excellent post which can be found here.
I decided to take a look at two different approaches. The first approach is the DIY approach which involves installing all the codecs/filters yourself (this is actually the approach I have been following successfully for over 4 months). The second approach will be using Shark007′s codec pack(I don’t usually recommend codec packs but Shark’s is the only one I would recommend). As you will clearly see in the disclaimer below, once you start hacking around with codecs/filters there is a chance that you mess something up with your system, so proceed with caution. For every person that gets this to work I hear about another person who cannot, so it is far from a perfect solution and I cannot guarantee it will work as the ability to bitstream with ffdshow is still relatively new. I have actually been noticing some inconsistencies with the results on my HTPCs of late, where one file will play perfectly with bitstreaming yet another with the same exact information will not play. As of now I prefer to just stick with MPC HC. I do plan on building another HTPC (mini-itx) in the coming weeks which I will use for further testing.
NOTE – You can follow this guide even if you don’t want or can’t bitstream, as this will still enable you to play back m2ts VC-1 in WMP12/W7MC (this is how I have been able to do so with my HTPCs prior to getting the 5670 GPU).
DISCLAIMER – Already mentioned once, but can’t emphasize enough, it is highly recommended that you have a backup/restore point or image of your O/S that you can revert to in the instance that something doesn’t work. Also, the steps listed here require disabling Windows Media Foundation which may cause undesirable effects to your setup, and possibly your love life. When I first set up my PC I make a backup immediately with Windows Home Server (I call the backup something like “W7 Clean”) and lock the backup so it does not get deleted. I have used Windows Home Server quite a few times to restore to this backup and it has worked like a charm.
Hardware Requirements / My Setup:
Refer to Part I of the guide.
—————————-SETTING UP THE DIY WAY—————————-
The steps below were done on my Windows 7 x32 HTPCs. I did test as well on my wife’s Windows 7 x64 PC and the steps did work. However, her PC is not connected to a receiver so I did not confirm that bitstreaming was working. Make sure that you grab the correct files (x32 vs x64).
Files To Download:
Latest FFDShow Beta (Download latest file under “Browse Files for ffdshow”)
Latest MPC HC Standalone Filters(Select latest MPC HC svn and then scroll down to bottom of page)
Haali. I prefer not to use Haali since it has caused some issues with my system, and instead rely on the MPC HC Standalone Filters mentioned above. If you would like to use Haali instead you can get the latest version here. However, there have been many reports of issues with the latest version, so if you use Haali I would instead recommend you use a previous version x32 / x64
RadLight Filter Manager v1.6 (optional)
Steps 1 – 5 will remain the same as in the Part I guide
6. If you decide to use Haali, install now. You can keep all the default settings if you would like, however I unchecked the “disable internal splitter” options. If you are not using Haali skip this step.
7. Install ffdshow. After installed run the ffdshow audio decoder configuration, go to output, and make sure the audio formats you want bitstreamed are checked off:
8. Extract MPC HC Standalone Filters. We are only going to need a few of the available filters. I created a folder called “MPC Filters” where I place the filters I need (i.e. C:\Users\Damian\AppData\Roaming\MPC Filters), and then for each filter created a separate folder. Depending on your setup you may or may not need all of the filters listed below.
Download and register MatroskaSplitter.ax (this is only necessary if you are not using Haali and want to play back mkvs). I created a folder called “MatroskaSplitter” in my MPC Filters folder, and downloaded MatroskaSplitter.ax into it. An easy way to register this filter is to create simple bat file. To register, open up notepad and type the below. Save file as install.bat in the same directory as where the MatroskaSplitter.ax filter is stored. Double click on the bat file to register.
Download and register MPC – MPEG Source (Gabest) – MpegSplitter.ax (this is only necessary if you have ts/m2ts files to play back). I created a folder called “MpegSplitter” in my MPC Filters folder, and downloaded MpegSplitter.ax into it. An easy way to register this filter is to create simple bat file. To register, open up notepad and type the below. Save file as install.bat in the same directory as where the MpegSplitterSplitter.ax filter is stored. Double click on the bat file to register.
Download and register MPCVideoDec.ax. This is completely optional. The default WMVideo Decoder DMO that is used for VC-1 does not support DXVA, so use this if you want DXVA for your VC-1 movies. I created a folder called “MPCVideoDec” in my MPC Filters folder, and downloaded MPCVideoDec.ax into it. An easy way to register this filter is to create simple bat file. To register, open up notepad and type the below. Save file as install.bat in the same directory as where the MPCVideoDec.ax filter is stored. Double click on the bat file to register.
9. Now this may sound a little confusing so bear with me. If you are playing back m2ts files and have installed haali, during playback WMP/WMC may find the haali splitter and use for m2ts files. So aside from registering Gabest we also need to replace the registry key in HKEY_CLASSES_ROOT\Media Type\Extensions\.m2ts to ensure that Gabest is used. To do so copy the below to notepad, save as “m2ts_Gabest.reg” and double click the saved file (I just threw the .reg file in the same folder as where I saved MpegSplitter.ax).
Windows Registry Editor Version 5.00
So to confirm, you only need to do this as follows:
- If you are not playing back m2ts you do not need to do
- If you are not using Haali you do not need to do
- If you are using the latest beta version of Haali you do not need to do unless you want to bypass Haali
- If you are using an earlier version of Haali you need to do
10. Run Win7DSFilterTweaker
- If you are using MPCVideoDec, assign (I just assign to H.264 which is not entirely necessary and VC-1 which is necessary)
- Nothing needs to be done on the next screen.
- On the last screen check “Disable Microsoft DTV-DVD Audio Decoder” and “Disable Media Foundation”. What Win7DSFilterTweaker does is rename the dll files (msmpeg2adec.dll and mfds.dll respectively located in C:\Windows\System32). You can also do this step manually, which requires taking ownership of the dlls (see Helpful Tips section for how to take ownership).
11. Not really a step, but if you even need to unregister a filter I find the easiest way to do is to use RadLight Filter Manager. Simply run the application, go to DirectShow Filters, locate the filter you want to register, and click the “Unregister” button.
——————–SETTING UP WITH SHARKS CODEC PACK——————–
Files To Download:
- Shark’s Codec Pack (if you are using an x64 system make sure you download both the x32 and x64 pack)
Steps 1 – 5 will remain the same as in the Part I guide
6. Prior to installing Shark007 make sure any codecs/filters you have installed are uninstalled
7. Install Shark’s Codec Pack.
8. Run the “Settings Application” (Start Menu -> All Programs -> Shark007 Codecs) and make the following changes:
(a) Under the “Audio” tab, select “use pass-through” to have all audio formats passed through:
If you need to access FFDShow Audio directly to pick and choose what audio you want passed through go to the “Config” tab, click “FFDshow Audio config” and go to Output
(b) Under the “Misc” tab check “DO NOT use Haali (global setting). Once again, this is only if you do not want Haali used.
(c) Under the “H264″ tab select “Use MPC-HC codec” for both MPC-HC DXVA codec and H264 codec in DirectShow Players. For the latter you can also choose “Use FFDShow DXVA codec” but since this is relatively new I stick with MPC-HC.
(d) Under the “MKV” tab select “Use Gabest’s splitter”
(e) Under the “MPG~MP4″ tab select “use Gabest’s Blu-ray splitter”. This is only necessary if you have m2ts files.
(f) Under the “SWAP” tab check off “Use MPC-HC for WVC1 instead of Microsoft”, “Disable Microsoft’s Audio Decoder” and “Disable Windows Media Foundation”.
(g) If you decide you want to uninstall Sharks’ codec pack, simply go to the “Help” tab and click “Uninstall”. All settings will be reverted back to before Shark was installed.
Whether you are using the DIY method or Sharks’, once you are done setting up run GraphStudio. Once it opens simply click and drag one of your movies onto and the graphs for that movie should appear. You can see what audio/video filters are being used
Below is an example of a AVC mkv
Below is an example of a VC-1 ts
- Make sure you have UAC disabled while going through the steps, UAC appears to cause problems with registering the filters.
- How to change ownership:
- Right click on the file you are trying to disable/rename and click on Properties
- Go to the Security tab and click Advanced.
- Go to the Owner tab and click Edit
- Highlight “Administrators” under “Change owner to:” and click Apply.
- Keep hitting OK until you are back at the Security tab.
- Click Edit under “Group or user names:”
- Highlight “Administrators” and tick under Allow the box for Full control.
- Hit ok and you should be good to go
- As I mentioned earlier, it has been hit or miss to get bitstreaming HD Audio from WMP12/WMC working correctly. One way to troubleshoot if a file does not play back, go into the ffdshow audio decoder configuration, go to output, and try unchecking some of the audio outputs in the Pass-through section. Sometimes unchecking and then rechecking works, sometimes a movie only works if all are unchecked, very strange.
- Some people have reported that videos will not play when “Play sounds when navigating Windows Media Center” is enabled. To disable, start WMC, go to Settings -> General -> Visual and Sound Effects and uncheck this option.
- SOMETHING THAT WOULD BE VERY USEFUL, IF YOU HAVE BITSTREAMING WORKING IN WMC/WMP, OR EVEN ANOTHER PROGRAM SUCH AS XBMC, LEAVE YOUR SETUP IN THE COMMENTS SECTION – OPERATING SYSTEM (VISTA OR W7, X32 OR X64), CLARKDALE 5XXX OR XONAR, WHAT FILTERS/CODECS /CODEC PACK YOU ARE USING, ETC…)