For playback I use Media Player Classic - Home Cinema. It can natively play most formats with internal decoders but I choose to specify my own. This combination I am listing here will give the best quality playback available for a HTPC and probably as good as or better than any Bluray player.

MPC-HC player.
It's a good player and most importantly, has extensive configuration options allowing you to use any decoder, filter or renderer you like. Also, you can configure keystrokes to match that of XBMC so your remote can transparently control playback. Speaking of remotes, Harmony is what I use and it's wonderful.
MPC-HC Download

LAV Filters for the Splitter, video Decoder audio Decoder.
LAVFilters is an awesome package with a fully integrated splitter, video decoder and audio decoder. It decodes just about any video format and works perfectly with madVR. The audio decoder fully supports all audio formats and can bitsream DTS and AC3 perfectly and without any drama.
LAV Filters Download


madVR is the Renderer
The best renderer out there. The renderer is what actually draws the picture on your screen so you want a good one. It supports a variety of scaling algorithms and does deinterlacing. Also supported gamma correction for display calibration and allows you to input yCMS values if you calibrate your TV set. I have and my picture is awesome.
madVR Download

One very important note on the above. You will not have very good success if your HTPC is very low end. madVR especially needs a fairly powerful video card and CPU. I am not talking a gaming rig or anything; I use an I3 540 and an ATI 5670 DDR5 with 1GB on Windows 7. I would consider this the minimum requirement.

Of course you must use HDMI to connect to your AVR for all this to work as advertised.

Before you can integrate MPC-HC as an external player in XBMC, you will need to configure everything. It's a bit involved for a first time user so I'll provide a few links:

Haruhichan Guide
Is a good general guide. Although the article is about Hi10P playback, almost all the steps are the same. You want to go to section "Setup guide for MPC-HC + madVR:".

AVS Forum Guide
Another good guide. Look at section "External player playback : Media Player Classic Home Cinema" for good setup info.

After you set everything up, play a video and check to ensure LAV and madVR are invoked. In MPC-HC, click on Play > Filters and you should see listed "LAV Audio Decoder", "LAV Video Decoder" and "madVR Renderer". Your AVR should be displaying DTS, AC3, DTS-HD, TrueHD etc for audio.

After MPC-HC is setup you can configure XBMC to use it as an external player. Of course by using an external player, you will lose some functionality in XBMC but for me quality is paramount so I live with it.

NOTE: One day XBMC will support native Direct Show playback on Windows but it doesn't today. There is a DSplayer port of XBMC around for some time and it has some ability to use LAV Filters for example but it is far from complete.

XBMC External Player setup:
Two files need to be created/modified.
- playercorefactory.xml
- advancedsettings.xml

You can do a search for these names on the web and there's plenty of info on what and how to use them and where to put them.

- advancedsettings.xml should contain:
<advancedsettings>
<video>
<defaultplayer>MPC-HC</defaultplayer>
</video>
</advancedsettings>

- playercorefactory.xml should contain (your install folder will be different):
<playercorefactory>
<players>
<player name="MPC-HC" type="ExternalPlayer" audio="false" video="true">
<filename>C:\Apps\MPC-HC\mpc-hc.exe</filename>
<args>"{1}" /fullscreen /close</args>
<hidexbmc>false</hidexbmc>
<hideconsole>false</hideconsole>
<warpcursor>none</warpcursor>
</player>
</players>
</playercorefactory>


That's about it. I haven't covered ripping blurays, I can also share that if you like.


For every expert, there is an equal and opposite expert.