Last Updated: 2017-2-17
LAV Filters 0.70
I have been enjoying the benefits of high-quality audio and video playback via MPC-HC & madVR for over six months now and would like to share some information on how to get this combination working in conjunction with Kodi Entertainment Center for a seamless viewing experience.
This guide was a culmination of a month of trying to match the picture quality of my PS3 Blu-ray player. I sold the thing and converted all my Blu-ray discs into .mkv files with MakeMKV. However, with the default Kodi player, I thought I had lost something in picture quality from the original disc and player. It was not until I discovered MPC-HC that I was able to forget the Blu-ray player and go completely digital with no loss in quality. All that was required was a mid-range GPU such as the Nvidia GTS 450 and madVR rendering.
Several excellent guides are already available on the Internet, and information from these guides is used as a supplement to some sections. The purpose of this post is to aggregate and highlight information specific to using MPC-HC with Kodi.
Note: Use of MPC-HC's twin MPC-BE is covered in Appendix A. Both players are considered interchangeable and offer similar set up. But I've chosen to stick with MPC-HC in this guide due to its built-in inclusion of LAV Filters and simpler set up. Feel free to use either player as they are nearly identical.
List of scaling algorithms used by Kodi VideoPlayer.
New to Kodi? Try this Quick Start Guide.
This MPC-HC Guide Includes:
- Demonstration of External Players;
- List of Software Required for Playback with MPC-HC & madVR;
- MPC-HC Set up;
- madVR Set up;
- Programming a Remote to Operate MPC-HC;
- APPENDIX A: Using MPC-BE in place of MPC-HC;
- APPENDIX B: Using CinemaVision add-on with MPC-HC;
- APPENDIX C: Controlling MPC & Kodi with Wi-Fi Apps for Android and IOS;
- Additional External Player Choices.
What do I mean by using MPC-HC & madVR as a primary player?
Kodi offers built-in support to launch any manner of external video players from the Kodi interface when the Play command is issued. The reason to launch an external player stems from the desire to take advantage of features not found in the Kodi player, VideoPlayer. These features can include improved post-processing abilities, playback of DRM-protected sources or simply personal preference.
Launching an external player is easy as writing a custom-formatted playercorefactory.xml and saving it to the userdata folder. The formatting of this file will be discussed and provided later.
So what do external players look like in action?
1. A user navigates to an item in their video library and initiates playback by selecting Play:
(Pictured – Modified version of Aeon Nox 5)
2. If the default Kodi player is used, the experience is a familiar, integrated OSD that resembles something similar to the image below:
When MPC-HC is launched, Kodi is temporarily moved to the background and MPC-HC is loaded in the foreground in fullscreen playback:
The only reminder an external player is being used during playback is the toggled OSD: Display Current Time in the top-left corner of the screen:
3. After viewing, pressing Stop causes MPC-HC to close immediately and focus returns to the Kodi interface. Note the video is now marked watched in the library:
What are the Drawbacks of Using MPC-HC as an External Player?
For those considering this combination, it should be noted that using an external player involves a number of drawbacks/tradeoffs:
- Lack of OSD Elements
Information typically available during video playback with the Kodi player such as ratings, plot, resolution, video stream details, CPU usage and extras such as clearart and an accurate geographic clock are absent in MPC-HC. The design intent behind MPC-HC is spartan, and those needing information beyond the time elapsed/remaining, filename, subtitle/audio track of the current video should look elsewhere. For better or worse, MPC-HC is a program that prioritizes video quality above all else.
- Inability to Use Resume and Start from Beginning Commands from within Kodi
File position and video resume points are handled externally by MPC-HC. So you will no longer receive a prompt to resume or restart a video in-progress when selecting it within Kodi. As such, it is up to the user to remember which files are in-progress and those that are not. A handy tip to ease navigation is to program a Restart Video command to a remote key, which allows videos to be restarted from within MPC-HC.
- Restrictive Handling of the Watched Status of Library Items
With some added code to playercorefactory.xml, the watched status of video items will work the same as the Kodi player. However, as opposed to being controlled by a percentage (e.g. a video is considered “watched” after 95 percent playback), external players change the watched status of an item based on the amount of seconds an item is played (as defined by the user in the playercorefactory.xml). It is important MPC-HC users program a remote key to toggle the watched status of an item as it is not uncommon to go over the time-based limit but still have progress remaining in the video to be watched at a later time.
What are the Advantages of Using MPC-HC as an External Player?
With the noted drawbacks of using an external player, why would someone want to launch MPC-HC from Kodi?
- Superior Video Quality
The video processing and scaling performance of Kodi’s VideoPlayer is generally good to great, particularly for those with low-powered HTPCs and integrated graphics cards. The player is very efficient. But, for those with dedicated HTPCs with powerful GPUs, the scaling and post-processing options of Kodi can seem very limited. This has led many users to paid programs such as JRiver Media Center that promise unparalleled audio and video performance from a PC.
Rendering options such as DXVA, Lanczos, Spline and Bicubic sharpening should be familiar to Kodi users. Programs such as MPC-HC with madVR offer more advanced scaling algorithms such as NGU, NNEDI3, super-xbr and Jinc with anti-ringing filter that are far more GPU-intensive and designed for HTPCs hoping to match the quality of standalone Blu-ray players. High bit-depth output, video post-processing and the ability to use 3D LUT calibration files are also selling points. Not only is there greater freedom to flex the muscle of your GPU, but MPC-HC with madVR offers the flexibility to tune your computer's video processing to match the capability of its internal components. So users with Intel processors with integrated graphics cards need not apply. MPC-HC will only show its worth with a capable, dedicated GPU. But why pay for JRiver Media Center when you can enjoy the same quality with the rich media interface of Kodi?
- Greater Flexibility in Audio Configuration
Flexibility and options are what MPC-HC is built around. In addition to standard WASAPI audio output, MPC-HC allows for a choice of audio renderers that can be used to apply channel mixing or to mitigate the effects of audio sync problems caused by changing refresh rates. ReClock is capable of correcting jerky playback of audio tracks and removing PAL Speedup by adjusting the speed of the audio to match the refresh rate of the video. High quality resampling is used to keep time with the desired video refresh rate.
- Ability to Apply Post-Processing Shaders to Videos
For those interested in shaders that add sharpening effects, remove banding, remove ringing and provide gamut correction, both MPC-HC and madVR offer several video post-processing methods to improve image quality.