Windows - HOW TO - Launch MPC-HC/MPC-BE with madVR as an External Player

  Thread Rating:
  • 6 Vote(s) - 4.33 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
Warner306 Offline
Posting Freak
Posts: 2,690
Joined: Feb 2014
Reputation: 92
Location: Canada
Post: #1
Media Player Classic & madVR Set up Guide
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:
  1. Demonstration of External Players;
  2. List of Software Required for Playback with MPC-HC & madVR;
  3. MPC-HC Set up;
  4. madVR Set up;
  5. Programming a Remote to Operate MPC-HC;
  6. APPENDIX A: Using MPC-BE in place of MPC-HC;
  7. APPENDIX B: Using CinemaVision add-on with MPC-HC;
  8. APPENDIX C: Controlling MPC & Kodi with Wi-Fi Apps for Android and IOS;
  9. Additional External Player Choices.
1. DEMONSTRATION OF EXTERNAL PLAYERS

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)

[Image: 1-Menu-Play_zps7b33c07c.jpg]

2. If the default Kodi player is used, the experience is a familiar, integrated OSD that resembles something similar to the image below:

[Image: 2-Aeon-Nox_zps1a8c16ea.jpg]

When MPC-HC is launched, Kodi is temporarily moved to the background and MPC-HC is loaded in the foreground in fullscreen playback:

[Image: 5-MPC-HC-Load_zps67f8cc5f.jpg]

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:

[Image: 3-MPC-HC_zpsfb042713.jpg]

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:

[Image: 4-Watched_zps9ed9a63c.jpg]





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.
The following forum thread offers a primer on what madVR scaling can do for your video content:
http://www.avsforum.com/forum/26-home-th...river.html
(This post was last modified: 2017-07-02 04:05 by Warner306.)
find quote
Warner306 Offline
Posting Freak
Posts: 2,690
Joined: Feb 2014
Reputation: 92
Location: Canada
Post: #2
2. LIST OF SOFTWARE REQUIRED FOR PLAYBACK WITH MPC-HC & MADVR

The complexity of MPC-HC set up can be intimidating for novice users. However, correct configuration is nothing more than following a series of set up screens with checkboxes. Realistically, this can be completed in an hour or two. If you are at all familiar home theater set up, these settings will be less than intimidating.

All required software is listed below with download links. Note that some software is optional and not necessary for proper audio/video playback. The bonus: Regardless of what you choose, all software is free and widely supported by its respective communities!

Required Software:
  • MPC-HC (64-bit) (Required – audio/video decoder & player): http://mpc-hc.org/downloads/
  • madVR (Required – GPU-assisted video renderer): http://forum.doom9.org/showthread.php?t=146228
    *To install madVR, extract the zip file to the Program Files directory and run the "install.bat."
  • XySubFilter (64-bit) (Optional – subtitle renderer): http://forum.doom9.org/showthread.php?t=168282
    *Install the link "XySubFilter Beta3 .zip Archive (64-bit)."
    To install XySubFilter, extract to Program Files, right-click "Install_XySubFilter.bat" and select "Run as Administrator."
  • Creation of a playercorefactory.xml (not software but a required addition)

Supported Guide

The following configuration guide is recommended to assist with post-installation set up:

Advanced MPC-HC Set up Guide

The inspiration for this guide came from the following AVS Forum post from 2011. Most technical set up from that post has been incorporated in this guide along with supplemental information for each program. It is not required reading, but the Advanced Set up Guide is still recommended for those interested in MPC-HC and its supporting software.

http://www.avsforum.com/forum/26-home-th...guide.html

playercorefactory.xml

Only one software adjustment in Kodi is required to launch an external player. This involves the creation of a playercorefactory file. Instructions inside this file control the behavior of both external and internal players. Basic syntax for launching MPC-HC (64-bit) is as follows:

<playercorefactory>
<players>
<player name="MPC-HC" type="ExternalPlayer" audio="false" video="true">
<filename>C:\Program Files\MPC-HC\mpc-hc64.exe</filename>
<args>"{1}" /fullscreen /close</args>
<hidexbmc>false</hidexbmc>
<hideconsole>false</hideconsole>
<warpcursor>none</warpcursor>
</player>
</players>
</playercorefactory>

To create this file, copy and paste the text above into Notepad or Notepad++ and save the document as playercorefactory.xml. The resulting .xml must be stored in the userdata folder located at:

C:\Users\USERNAME\AppData\Roaming\Kodi\userdata

playercorefactory - Suggested Formatting

While the basic version of playercorefactory.xml will do the job of launching and closing MPC-HC, two additions (highlighted in bold below) can make the player behavior friendlier for typical usage:

<playercorefactory>
<players>
<player name="MPC-HC" type="ExternalPlayer" audio="false" video="true">
<filename>C:\Program Files\MPC-HC\mpc-hc64.exe</filename>
<args>"{1}" /fullscreen /close</args>
<hidexbmc>false</hidexbmc>
<hideconsole>false</hideconsole>
<warpcursor>none</warpcursor>
<playcountminimumtime>1140</playcountminimumtime>
</player>
</players>
<rules action="prepend">
<rule filetypes="mkv|avi|divx|ogm|mp4|mov|m4v|flv|m2v|mpeg|mpg|mts|m2ts|vob|bdmv|iso" player="MPC-HC">
<rule protocols="http|https" player="MPC-HC"/>
<rule protocols="daap|rtv|rtsp|rtmp|rtmpe|rtsp|mms|rtp|pvr" player="VideoPlayer"/>
</rule>
</rules>

</playercorefactory>

<playcountminimumtime> This sets the amount of time (in seconds) a video must be played before its status is changed to “watched” in a user’s library. In the example above, setting the value to 1140 seconds means a video must be played at least 19 minutes before its watched status is changed. Such a number is a good middle ground for handling the runtime of both TV shows and movies. Unfortunately, playcountminimumtime is a universal value for all videos.

Tip: Users of MPC-HC should program a remote key to toggle watched status (W) in Kodi to address the need to change the watched status of library items as videos are stopped and resumed.

<rules action="prepend">
<rule filetypes="mkv|avi|divx|ogm|mp4|mov|m4v|flv|m2v|mpeg|mpg|mts|m2ts|vob|bdmv|iso" player="MPC-HC">
<rule protocols="http|https" player="MPC-HC"/>
<rule protocols="daap|rtv|rtsp|rtmp|rtmpe|rtsp|mms|rtp|pvr" player="VideoPlayer"/>
</rule>
</rules>


The final code snippet defines file compatibility with the new player. MPC-HC can be designated as the default player for all videos (video="true"). However, this would conflict with the proper playback of certain streaming content such as live TV. MPC-HC is capable of playing http|https streams from most video add-ons using LAV Splitter Source. All other protocols should be left to VideoPlayer.

Rules Section – Alternative

<rules action="prepend">
<rule video="true" player="MPC-HC">
<rule internetstream="true" player="VideoPlayer" />
</rule>
</rules>


Setting video to "true" and defining MPC-HC as the default player and VideoPlayer as the player of Internet streams is a an alternate way of dividing content between the two players. This eliminates the need to define every file format that is compatible with MPC-HC. Although, if this method is used, some stubborn streaming content will erroneously open with MPC-HC and all Internet sources will be played by VideoPlayer. That makes format #1 the preferred choice.

Launcher4Kodi Users: You must specify all external players in the program and set each to maintain focus during playback by selecting Focus External Player in the External Players tab. Otherwise, mouse and remote control will not work.

Windows 10 App Users: Users of the Kodi app found in the Windows 10 store will find the userdata folder is found in a different directory than standard Kodi.

In this case, place playercorefactory.xml here:

C:\Users\USERNAME\AppData\Local\Packages\XBMCFoundation.Kodi_4n2hpmxwrvr6p\Local​Cach​e\Roaming\Kodi\userdata.
(This post was last modified: 2017-02-18 03:11 by Warner306.)
find quote
Warner306 Offline
Posting Freak
Posts: 2,690
Joined: Feb 2014
Reputation: 92
Location: Canada
Post: #3
3. MPC-HC SET UP

Now that MPC-HC has been installed, the next step is to visit its many Options menus. Credit goes to the AVS Forum guide below, from which half of this information is derived. Although it should be unneeded to successfully complete set up, I would suggest the guide as a secondary reference.

AVS Forum – Advanced MPC-HC Set up Guide

http://www.avsforum.com/forum/26-home-th...guide.html

Windows Audio Set up

Before we get into the details of actual MPC-HC set up, some background work needs to be done to prepare your PC's audio configuration for surround sound playback. Windows 10 is the example operating system.

From the Windows Control Panel, select the Sound category:
  • Right-click on your desired audio output device.
  • From the Advanced tab, choose a default sample rate and bit depth (24-bit, 96000 Hz is recommended). This is the maximum output rate and should be set to avoid downsampling when the Internal Audio Renderer is set to "shared mode."

[Image: Windows_Sound_zps9d0d93f8.jpg]

The next step is to configure your audio device to your speaker layout.

Return to the Sound category and list of devices:
  • Click on the desired output device and ensure it has the green check-mark beside it denoting it as the default audio device.
  • Select Configure, and choose your matching speaker layout (5.1, 6.1, 7.1, etc.).
  • Use the Test button to send out a test tone and confirm Windows recognizes all speakers.
  • From here, you can further customize your set up by assigning speaker types and turning specific speakers on and off.

[Image: Windows_Sound2_zps68337ae0.jpg]

Windows Video Set up

Preparing your display for HTPC playback is a simpler process.

Right-click on the desktop and select Display settings then Advanced display settings. Your PC should be connected to your output display and report back the correct resolution.

[Image: Windows-Video_zpsljowywuz.png]

The same process should be undertaken with the display properties of your graphics card from its control panel. It is recommended to turn off all picture enhancements and set everything to be controlled by the media player.

Because madVR outputs in RGB, set the GPU to output RGB vs. Y'CbCr 4:4:4. Settings for color range (limited vs. full) and bit depth (8bpc vs. 12bpc) should align with the same settings in madVR.

MPC-HC Set up

With that background work taken care off, we will move on to MPC-HC set up. This is a section-by-section analysis of the settings that must be configured for correct player behavior within Kodi. The category listed in each section heading represents those found in the left-hand side of the Options (O) panel.

Settings Category: Player

One of the most important settings is found in the Player category. Ensure the checkbox Remember File Position is ticked, which provides a bookmark of the last known video position when MPC-HC is stopped. This function takes the place of the built-in Resume dialog in Kodi and must be checked for MPC-HC to provide proper stop and resume behavior.

[Image: 1-Player_zpscxp2uc1t.png]

Settings Category: Fullscreen

It is advised to turn off all visible toolbars and player controls during playback (right-click -> view -> remove checkmarks). The checkbox Hide controls in fullscreen ensures elements remain hidden even if checked. The only controls that should be seen during fullscreen playback are overlays initiated by remote commands such as OSD: Display Current Time and OSD: Show File Name.

[Image: 2-Fullscreen_zpsmcirerd3.png]

Most users will want to use madVR to handle display mode switching (where the display refresh rate is changed to match the source refresh rate). However, using the latest nightly build of MPC-HC offers the ability to add audio delays to certain refresh rates. This can be helpful with LED TVs, which often add input lag at certain frequencies such as 24p leaving the audio out-of-sync.

Adding an audio delay is as simple as checking Use autochange fullscreen monitor mode, creating an output mode and adding a delay in the Audio Delay column. You will have to disable madVR's display modes to give MPC-HC full control over refresh rate switching.

[Image: 2-Fullscreen-Auto-Change_zpsfxryutyl.png]

Settings Category: Output

Under Output, choose the video renderer (madVR) and audio renderer (Internal Audio Renderer). Choosing madVR, in particular, as video renderer is most important because its configuration/settings menus are only accessible when it is the active renderer. The Internal Audio Renderer offers full WASAPI support in shared or exclusive mode. A choice of subtitle renderer is also possible. Choose XySubFilter from the drop-down.

[Image: 3-Output_zpssp2ypztu.png]

Settings Category: Audio Renderer

The Audio Renderer category is used to select the audio output mode. The MPC-HC Internal Audio Renderer relies on a backend from a project called Sanear. The benefits of Sanear include:
  • WASAPI output in shared or exclusive mode;
  • automatic channel downmixing in shared mode;
  • stereo crossfeed for headphones;
  • time stretching and pitch correction when playing at custom refresh rates;
  • bit-exact bitstreaming support.
WASAPI exclusive mode gives applications exclusive access to audio devices so audio streams are passed directly to the audio output device without any interference from the audio driver or Windows Mixer. Unchecking the Exclusive mode checkbox enables shared mode, where a third-party application (e.g. the Windows Mixer) is added to the playback chain allowing for post-processing such as channel mixing and automatic downmixing before reaching the output device.

It is recommended to select Exclusive mode to ensure the audio output is untouched by Windows when it reaches the audio output device (e.g. AV receiver).

Time stretching and pitch correction remain a work-in-progress and have not yet been added to the renderer. In the future, these features may replace the need to use similar software such as ReClock.

[Image: 4-Audio_zpstlfh7ntu.png]
(This post was last modified: 2017-02-28 21:11 by Warner306.)
find quote
Warner306 Offline
Posting Freak
Posts: 2,690
Joined: Feb 2014
Reputation: 92
Location: Canada
Post: #4
MPC-HC SET UP (Continued)

Settings Category: Internal Filters

After selecting the appropriate audio/video renderers, the next most important aspect of set up is configuring LAV Filters. Menus for LAV Filters are hidden under the Internal Filters category. Each filter is covered separately below.

[Image: 5-Internal-Filters_zpsh6pxtosu.png]

Settings Category: Splitter - LAV Splitter & Subtitles>Misc

In LAV Splitter, we are primarily concerned with delivering the correct subtitle stream with each video. Subtitle set up assumes you are using XySubFilter (not xy-VSFilter) as the subtitle renderer. SubFilter is essentially an HD subtitle renderer designed for enhanced performance and compatibility with a wide range of non-English characters. For compatibility with MPC-HC, install the version labelled XySubFilter Beta3 .zip Archive (64-bit):
  • Extract the .zip contents and move the folder to the Program Files directory.
  • Right-click the Install_XySubFilter.bat and select Run as administrator.
  • The software is now installed.
To configure XySubFilter:
  1. Open the Options menu in MPC-HC. Under Playback, ensure Allow overriding external splitter choice is unchecked. This is necessary to use XySubFilter.
  2. In LAV Splitter, specify a default audio and subtitle language. Then choose a default subtitle selection mode (e.g. forced for English speakers). Leave Blu-ray Subtitles (PGS) checked. PGS subtitles are embedded in Blu-ray rips (mkvs).
  3. Under Subtitles>Misc, check Prefer forced and/or default subtitles tracks. The second option, Prefer external subtitles over embedded subtitles should also be checked if using external .srt files. These settings are ignored when using XySubFilter, but if using the internal subtitle renderer, this is the section to focus on.
  4. Finally, to configure XySubFilter, right-click during playback, navigate to Filters and select XySubFilter (=> madVR) - Properties. For English speakers, the lone setting to be concerned with is Only show forced subtitles.
  5. The remaining configuration options in XySubFilter are up to the discretion of the user.
[Image: 6-Subtitles_zpsc06d0ad6.png]

Settings Category: Video Decoder - LAV Video

The main setting to be concerned with in LAV Video is the type of hardware acceleration to be used. Hardware acceleration reduces the load on the CPU by offloading video decoding to the GPU. The use of a fixed-function hardware decoder should have minimal impact on madVR. However, it can significantly reduce the load placed on the CPU. Setting hardware acceleration to None means all video will be decoded using software decoding. This can be good or bad depending on the power of your CPU. The recommendation for hardware acceleration remains the same across hardware manufacturers:
  • Intel: DXVA2 (copy-back) or Intel QuickSync
  • AMD: DXVA2 (copy-back)
  • Nvidia: DXVA2 (copy-back)
*NVIDIA CUVID is known to be less efficient with regards to performance and power consumption. The justification for this claim comes from this post.

*DXVA2 (copy-back) can be used by any hardware that supports DXVA2. This uses more memory bandwidth than DXVA2 (native) since every video texture is copied back from GPU memory to CPU memory after decoding (hence the copy-back in name). However, DXVA2 (copy-back) has fewer playback limitations than DXVA2 (native).

Leave the deinterlacing options alone, as deinterlacing will be be handled by madVR.

HEVC (H.265) Decoding:

Hardware decoding of HEVC is only recently supported by video card manufacturers. Owners of most cards manufactured before 2016 will be left to decode HEVC with software. Software decoding of high bit-rate HEVC requires a very fast modern CPU.

[Image: LAV-Video_zpsb2mchj1w.png]

Users struggling with x86 (32-bit) decoding of HEVC content with LAV Video may want to substitute the Strongene Lentoid HEVC/H.265 Decoder, which offers a significant performance boost. This would require adding the decoder in MPC-HC under External Filters. LAV Video is the faster decoder for x64 (64-bit) MPC-HC.

Settings Category: Audio Decoder - LAV Audio

Audio codecs are the focus of configuring LAV Audio. The items that are checked will be bitstreamed. Those left unchecked will be unpackaged and sent as PCM streams. What can be bitstreamed depends on the audio equipment used (e.g. AV receiver or television) and the type of output (HDMI or S/PDIF). Users of S/PDIF are limited to Dolby Digital (AC3) and DTS and should leave all other boxes unchecked.

Use Legacy 5.1 channel layout
Check this box if your surround speakers are in the back as opposed to the sides. The default configuration is to have the surround speakers at the sides. This only impacts audio decoded by LAV Audio. Bitstreams are passed through.

Mixing
When bitstreaming is disabled, LAV Audio does the decoding. The Windows Mixer is not useable in WASAPI exclusive mode. So using the Mixing tab opens the possibility to introduce mixing: converting the output to different channel layouts, altering the volume of specific channels and matrix encoding to Dolby Pro Logic II. These options should be left alone for most users unless you know what you are doing.

More advanced mixing is available through the MPC-HC Audio Switcher.

[Image: LAV-Audio_zpscsvikvfd.png]

Optional - Settings Category: Shaders

The Shaders section is used to apply post-processing effects to video streams. MPC-HC comes packaged with 22 built-in shaders that can be added to any video (in order applied). The use of post-processing is a matter of personal taste (personally I prefer to leave it alone and let madVR do its thing). But if you are unhappy with your video quality, feel free to experiment. Custom shaders can also be added by supplying an appropriate file saved with the .hlsl extension. Learning shader functions is a matter of mastering Google. Keep in mind, shaders will use some of the pool of GPU resources that can be spent on other settings, so do not assume they are free.

[Image: 7-Shaders_zpsee617fig.png]

That concludes MPC-HC set up. So, on to madVR...
(This post was last modified: 2016-11-17 03:56 by Warner306.)
find quote
Warner306 Offline
Posting Freak
Posts: 2,690
Joined: Feb 2014
Reputation: 92
Location: Canada
Post: #5
4. MADVR SET UP

Set up of madVR will be left to an external guide. This will take you through each menu in the madVR control panel to get madVR up and running. Sample settings and suggestions for suitable hardware are also provided.

madVR Set up & Configuration Guide

Where do I find the madVR Settings Panel?

madVR settings can only be adjusted during video playback. The configuration panel is accessed during playback by right-clicking (mouse), navigating to Filters and selecting madVR. Note: madVR must be the chosen video renderer in order to appear under the list of active filters (which can be confirmed by the madVR icon displaying on the Windows Taskbar). This is often easier to do outside of Kodi to avoid losing mouse focus.

[Image: 3-Filters_zpsxzqo5a6n.png]

The following dialog should appear:
[Image: 4-madVR-settings_zps2f9df5d4.jpg]
(This post was last modified: 2016-11-17 04:38 by Warner306.)
find quote
Warner306 Offline
Posting Freak
Posts: 2,690
Joined: Feb 2014
Reputation: 92
Location: Canada
Post: #6
5. PROGRAMMING A REMOTE TO OPERATE MPC-HC

The final step in configuring MPC-HC is to set up your remote control. The Keys section provides an overwhelming list of commands that can be programmed to control MPC-HC with a remote (182 in total). However, a quick browsing of this section reveals that few commands actually relate to HTPC use. So, to help digest this section, I have provided a starter keymap that should guide users in creating a keymap of their own. Among the list of 182 commands, those recommended for HTPC use are highlighted in grey (screenshots below). I tried to keep most remote keys logical and consistent across programs – accordingly, commands in Kodi are programmed to like commands in MPC-HC.

Keys Section of MPC-HC:
[Image: Keys_zps56575641.jpg]

The example keymap uses a Harmony 650 as the remote control and a Microsoft eHome RC6 receiver as the IR receiver. The following device should be added in the Harmony remote software:
  • Media Center PC > Microsoft > MCE Keyboard
HOW TO - Configure a Logitech Harmony Remote for Kodi

Tips in Controlling MPC-HC by Remote:
  • Stop and Exit must be programmed to the same key. Stopping the video then serves the dual function of stopping playback and closing MPC-HC at the same time. This key should only appear under the commands Stop and Exit. Any other instances in the keymap may cause the command to be ignored. If your remote does not recognize keyboard commands, then Stop and Exit should be controlled by exclusive use of MEDIA_STOP.
  • Your remote can be used to program the keymap by pointing it at the IR receiver and pressing the desired key while a blank player command is selected. This is especially useful if your remote sends out key presses but you're not sure what each command is. Make sure no key combination is duplicated elsewhere in the keymap or it is likely to be ignored. You must know if your remote sends out keypresses or Windows Media Center commands to use this method. Multi-key presses are not always read correctly.
  • Unfortunately, OSD: Display Current Time and OSD: Show File Name might be the only useful OSD elements in MPC-HC that can be seen from a typical TV viewing distance. Statistics such as codec, stream details, resolution, etc. are buried in smaller menus designed to be accessed by mouse and keyboard. I suggest programming Display Current Time to the Info key, I, and Show File Name to the Guide key, C. With use, many will find these overlays are all they need.
  • Pressing Next Audio will show technical details on the available audio streams. Next Subtitle will show technical details on the available subtitle streams.
  • Mapping madVR's rendering stats (Cntrl + J) to a remote key is a good substitute for MPC-HC's spartan overlays. This can be accomplished by changing its keyboard shortcut in the madVR control panel: user interface -> keyboard shortcuts -> debug OSD. A lot of technical information on the video stream is available here.
  • On/Off Subtitle does not work if XySubFilter is used in place of the default subtitle renderer.
  • The number keys (Num0 to Num9) are pre-programmed to change the size of the image by default (PnS Inc, PnS Dec, etc.). These entries should be cleared (left blank) to avoid annoying stretching of the image during playback.
  • There are numerous ways to change the size of the image in MPC-HC. If the aspect ratio of your video looks off, right-click during playback and see if any of the picture settings have been changed from its defaults. Touch Window From Inside should show under Video Frame.
  • Many will want to adjust the length of the Jump Forward and Jump Backwards commands from the Tweaks menu. By default, I find the small, medium and large jumps (in ms) too short. I have provided suggested values next to these entries in the keymap.
  • Jump to Beginning receives regular use in my setup and should be not forgotten in your keymap.
  • As mentioned previously, having a shortcut key to the watched command, W, from within Kodi makes living with MPC-HC a lot easier.
Download the complete Excel spreadsheet below to create your own custom keymap:
https://drive.google.com/file/d/0B2LAr9I...sp=sharing

I would suggest printing this document to simplify the set up process.

Keymap Legend

Green Items: Item has been changed and/or programmed to a remote key.
Red Items: Item should be removed or is duplicated by another remote command.

[Image: 1-Keys-88_zpsv2x8xw4g.png]

[Image: 2-Keys-88_zps3agze8ww.png]

[Image: 3-Keys-88_zpsahbysheh.png]

[Image: 4-Keys-88_zpskftqgvv6.png]

[Image: 5-Keys-88_zps63isoj8o.png]

That's it! Now load Kodi and try out the keymap to ensure all keys are mapped correctly.
(This post was last modified: 2016-06-08 23:49 by Warner306.)
find quote
Warner306 Offline
Posting Freak
Posts: 2,690
Joined: Feb 2014
Reputation: 92
Location: Canada
Post: #7
6. APPENDIX A: USING MPC-BE IN PLACE OF MPC-HC

Users are free to substitute MPC-BE for MPC-HC. MPC-BE and MPC-HC are similar players based off the same codebase. Navigating the Options panels of MPC-BE is possible using this guide and most checkboxes will remain the same.

The intent behind MPC-BE was to re-skin MPC-HC with a superior toolbar and more modern feel. For those viewing videos primarily in fullscreen, however, the fancy toolbar of MPC-BE is irrelevant. But, if you prefer MPC-BE, it comes with two features that distinguish it as an external player and some configuration complexities that are worth mentioning.

MPC-BE Homepage: http://forum.doom9.org/showthread.php?t=165890

For starters, all references to MPC-HC in playercorefactory.xml will be replaced with MPC-BE (Note: the player path is for MPC-BE 64-bit):

<playercorefactory>
<players>
<player name="MPC-BE" type="ExternalPlayer" audio="false" video="true">
<filename>C:\Program Files\MPC-BE x64\mpc-be64.exe</filename>
<args>"{1}" /fullscreen /close</args>
<hidexbmc>false</hidexbmc>
<hideconsole>false</hideconsole>
<warpcursor>none</warpcursor>
<playcountminimumtime>1140</playcountminimumtime>
</player>
</players>
<rules action="prepend">
<rule filetypes="mkv|avi|divx|ogm|mp4|mov|m4v|flv|m2v|mpeg|mpg|mts|m2ts|vob|bdmv|iso" player="MPC-BE">
<rule protocols="http|https" player="MPC-BE"/>
<rule protocols="daap|rtv|rtsp|rtmp|rtmpe|rtsp|mms|rtp|pvr" player="VideoPlayer"/>
</rule>
</rules>
</playercorefactory>

Move playercorefactory.xml to: C:\Users\USERNAME\AppData\Roaming\Kodi\userdata

Settings Category: Output

Feature-wise, MPC-BE adds dual-audio output support for those needing to send audio through HDMI and S/PDIF simultaneously:

[Image: Audio_zpsbtdzslu4.png]

Settings Category: Keys

One additional OSD element is also available that may be useful to some users:
  • OSD: Local Time
[Image: Keys_zpseyq5mm1b.png]

Settings Category: External Filters

MPC-BE does not come pre-installed with the latest LAV Filters by default. As such, LAV Filters must be installed and then added separately as External Filters. Keep in mind, each filter is configured individually from outside MPC-BE.

Download the latest LAV Filters: http://forum.doom9.org/showthread.php?t=156191.

Add under External Filters (choose "Prefer" for each filter):

[Image: External-Filters_zpsrqbmeepa.png]

Settings Category: Playback

If XySubFilter is used as the subtitle renderer, the checkbox Default track preference under Playback must be deselected to use the external filter in place of the internal renderer.

[Image: Subtitles-Playback_zpsbhn3armo.png]

Settings Category: Subtitles

The choice of subtitle renderer is made from the Subtitles category. Select XySubFilter from the drop-down.

[Image: Subtitles-Drop-Down_zpsdge6kila.png]

Settings Category: Tweaks

A final configuration oddity deals with a change to remote keys. MPC-BE does not have a command for Jump to Beginning. As a result, we will have to make two adjustments to our keymap:
  • Under Tweaks, adjust the Jump Forward/Backward (Small) value to the largest allowable: 2147483647 ms.
  • Then change the remote key for Jump Backwards (small), R, to the previous Jump to Beginning, Esc. Now pressing Esc will cause the video to restart.
  • While Jump Backward (small) is lost, it can be reprogrammed to Jump Backward (keyframe), R.
To summarize, Jump Backward (small) replaces Jump to Beginning. While Jump Forward (keyframe), F, replaces Jump Forward (small), and Jump Backward (keyframe), R, replaces Jump Backward (small).

[Image: Miscellaneous_zpsucips1r7.png]

7. APPENDIX B: USING CINEMAVISION ADD-ON WITH MPC-HC

The CinemaVision add-on is compatible with the use of MPC-HC. From experience, the script will work as before. However, many will find the transition of preview videos is rather clunky when played in succession with MPC-HC. To address this, I recommend an adjustment to playercorefactory.xml and the naming of files related to CinemaVision.

Add the following to the “rules” section of playercorefactory.xml:

<rule filename=".*(VP).*" player="VideoPlayer" />
<rule filetypes="flv" player="VideoPlayer" />

To make this work with your coming attractions, slideshow, feature presentation and other CinemaVision videos, add the following text to the end of each filename: (VP) (with brackets). As the rule states, any video containing this string will be played with the default Kodi player. MPAA ratings videos are the lone exception due to its naming convention rules. To get around this, I changed the file extension of each MPAA video to a codec that is rarely used (.flv) and removed this codec from the list of formats played by MPC-HC. Together, these two rules ensure videos designed for CinemaVision are handled by the default player, while the feature presentation is played by MPC-HC.

More information on the CinemaVision add-on can be found here:
http://forum.kodi.tv/showthread.php?tid=231881.
(This post was last modified: 2017-02-18 03:27 by Warner306.)
find quote
Warner306 Offline
Posting Freak
Posts: 2,690
Joined: Feb 2014
Reputation: 92
Location: Canada
Post: #8
8. APPENDIX C: Controlling MPC & Kodi with Wi-Fi Apps for Android and IOS

If you do not have access to either an IR receiver or a remote, it is still possible to control both Kodi and Media Player Classic using commands sent via Wi-Fi. The technology required to do this combines the web interface of your computer with the Wi-Fi technology of IOS or Android-powered devices.

Why Would You Want to Use Apps to Control MPC and/or Kodi?

Genuine Microsoft eHome RC6 receivers can be hard to come by. While a good universal remote such as a Harmony can set you back anywhere from $50 - $250 depending on the model. The apps described below cost a combined $1.99 where I come from and can work on any Android or IOS smartphone or tablet. So, in the spirit of being cheap, apps make Kodi more accessible to everyone. Don't expect the same level of seamless integration between players and components as an expensive paid app such as iRule or a Harmony One, but these apps will eliminate the need to reach for a mouse and keyboard to make adjustments while browsing the library or playing a movie.

App 1 - Official Kodi Remote

The Official Kodi Remote is a free app available for IOS and Android that can be used on your smartphone or tablet to control Kodi through a graphical interface. This interface allows users to browse their collection complete with photos and metadata and select a title to play on their television. Or, you can simply switch to the touchscreen remote and browse your collection as you would with a physical remote. The Official Kodi Remote is an excellent app for controlling the Kodi interface. And it's free!

Official Kodi Remote:
[Image: XBMCRemote_zpspcfwavgo.jpg]

Given this is a guide dedicated to Media Player Classic, set up for the Official Kodi Remote will be left to external sources:

Video - Official Kodi Remote Set up: https://www.youtube.com/watch?v=nqt05xahzZI.
Kodi Wiki: http://kodi.wiki/view/Smart_phone/tablet.

App 2 - Remote for MPC

Remote for MPC is an app designed to control Media Player Classic (HC or BE) with a compatible IOS or Android-powered smart phone or tablet. I have downloaded about 10 apps purported to control MPC and found this app to be the best of those I tried. It appears to contain all 181 remote commands available in MPC, which is important because infrequently-used commands such as Exit are necessary to close the player and return to Kodi. Set up is also a breeze.

Preparing the MPC Web Server

To enable the reception of Wi-Fi commands, one adjustment is required in Media Player Classic. From the Options menu, select Web Interface. Check the box Listen on port. The default port is 13579. This turns Media Player Classic into a web server capable of receiving commands over TCP/IP.

[Image: Remote-Web-Interface_zpss47lmv4y.jpg]

Remote for MPC - Set up
  1. Search for Remote for MPC in the app store.
    The app costs approximately $1.99, which I would consider a minor expense for this service.
  2. Start Media Player Classic on your computer.
  3. Open the app and from the menu select Server Management.
  4. Choose Add Server.
  5. Two pieces of information are required:
    a) IP Address: This can be found within Kodi from Settings >> System info >> Network.
    b) Port: Use the default port, 13579.
  6. The remaining fields can be left blank.
The sever should connect. Maintaining a Static IP Address may be necessary to preserve your settings. If you encounter any issues, a wiki page is available for the app with technical support.

Wiki: http://www.banamalon.net/wiki/index.php?...C_-_Remote.

Remote for MPC - Menu:
[Image: Remote%20for%20MPC%202_zpsxeu1x8na.jpg]

Remote for MPC - Configuration and Use

Once a play command is issued in Kodi, the app will become active. In an ideal world, one would run XBMCRemote on an Ipad and Remote for MPC on a phone. But, it is possible to switch between the two. By default, a wheel will appear in the middle of the screen as pictured below. I prefer the simplified Classic theme, which can be toggled in Settings, but for those who stick with the Circle theme, basic use is as follows:

Remote for MPC - Circle Theme:
[Image: Remote%20for%20MPC_zpsea17ppw6.png]

Wheel Function:

Press - Play/Pause
Swipe Left - Chapter Previous
Swipe Right - Chapter Next
Swipe Down - Stop
Swipe Up - Custom Command
Rotate Inner-Circle - Volume Up/Down
Rotate Outer-Circle - Seek/Change File Position

A number of other functions are readily-available in the options panel at the bottom of the screen.

I would suggest configuring Extra as the custom command. This is due to the need to access Exit, which is the only means of returning to Kodi. Unlike the Keys section, Stop and Exit are separate functions when sent by the app and only Exit will close the player. Swipe up and release, scroll down and select Exit. The player does not have to be stopped to exit, either. A hasty exit will still preserve the previous player position if Remember File Position is enabled.

Directional swipe commands are completed by swiping in one direction, holding and releasing. Lastly, the volume circle (inner) can be touchy.

That's it! If the idea of lag-free Wi-Fi control intrigues you, consider stepping up to a premium product such as iRule. iRule is the one product I know of that offers multi-device control that can also be configured to fully-control Media Player Classic. Currently, iRule's biggest competitor, Roomie, does not offer support for MPC.
(This post was last modified: 2016-02-19 22:40 by Warner306.)
find quote
Warner306 Offline
Posting Freak
Posts: 2,690
Joined: Feb 2014
Reputation: 92
Location: Canada
Post: #9
Additional External Player Choices

For those dissatisfied with the interface, controls or other features of Media Player Classic but still wishing to integrate madVR rendering into their Kodi setup, additional choices are available. The list below includes other media players that can be launched from Kodi as external players. All feature madVR as a selectable video renderer. To launch a player, substitute the path to the player executable (.exe) and replace all player names in the playercorefactory.xml provided in this guide.

Media Players with madVR Support: Integrated Media Players & Front-Ends:
(This post was last modified: 2016-03-03 23:43 by Warner306.)
find quote
berstuck Offline
Junior Member
Posts: 6
Joined: Feb 2014
Reputation: 0
Post: #10
I tried this script because I don't want my internet streams playing to mpc-hc. Problem is now it tries to send live tv to mpc hc and it fails to play. Any ideas?
find quote
Warner306 Offline
Posting Freak
Posts: 2,690
Joined: Feb 2014
Reputation: 92
Location: Canada
Post: #11
...
(This post was last modified: 2016-02-08 22:33 by Warner306.)
find quote
berstuck Offline
Junior Member
Posts: 6
Joined: Feb 2014
Reputation: 0
Post: #12
(2014-12-01 23:07)Warner306 Wrote:  
(2014-12-01 05:28)berstuck Wrote:  I tried this script because I don't want my internet streams playing to mpc-hc. Problem is now it tries to send live tv to mpc hc and it fails to play. Any ideas?

I don't have live TV, so I'm not sure how to handle that one. The rules that can be assigned to external players are described here: External_players (wiki).

If it was working before, you will have to assign a new rule to MPC-HC rather than video="true."

One way to approach this would be like this:

<rule video="true" player="DVDPlayer">
<rule filetypes="mkv|mp4|avi|divx|mpg|wmv|flv|ts" player="MPC-HC">

I'm not 100% certain that is the correct syntax or the smartest way to go about it, but that's my suggestion. You could also add the rule concerning Internet streams.

If that doesn't work, try posting in the Windows External Player Support Thread: http://forum.kodi.tv/showthread.php?tid=43511&page=92.

<rule filetypes="mkv|mp4|avi|divx|mpg|wmv|flv|ts" player="MPC-HC"> is basically what I use now. Simply adding the internet streams rule breaks it. I'll try your suggestion and see I'd it works.
find quote
Warner306 Offline
Posting Freak
Posts: 2,690
Joined: Feb 2014
Reputation: 92
Location: Canada
Post: #13
(2014-12-02 09:25)berstuck Wrote:  
(2014-12-01 23:07)Warner306 Wrote:  
(2014-12-01 05:28)berstuck Wrote:  I tried this script because I don't want my internet streams playing to mpc-hc. Problem is now it tries to send live tv to mpc hc and it fails to play. Any ideas?

I don't have live TV, so I'm not sure how to handle that one. The rules that can be assigned to external players are described here: External_players (wiki).

If it was working before, you will have to assign a new rule to MPC-HC rather than video="true."

One way to approach this would be like this:

<rule video="true" player="DVDPlayer">
<rule filetypes="mkv|mp4|avi|divx|mpg|wmv|flv|ts" player="MPC-HC">

I'm not 100% certain that is the correct syntax or the smartest way to go about it, but that's my suggestion. You could also add the rule concerning Internet streams.

If that doesn't work, try posting in the Windows External Player Support Thread: http://forum.kodi.tv/showthread.php?tid=43511&page=92.

<rule filetypes="mkv|mp4|avi|divx|mpg|wmv|flv|ts" player="MPC-HC"> is basically what I use now. Simply adding the internet streams rule breaks it. I'll try your suggestion and see I'd it works.

There are smarter people than me in the Windows External Player Support Thread. If you get it figured-out, please post it here. I'll add it to the guide.
find quote
Talguy Offline
Fan
Posts: 497
Joined: Sep 2010
Reputation: 8
Post: #14
This is a great guide and im going to try and incorporate it into my setup this weekend. I also have the nvidia gts450. Its a great cheap video card. However I can't get good 23.976p playback with XBMC and that card. Was reclock enough to get you the correct playback or did you have to do more setup at the windows and graphics card level? What nvidia driver version are you running with the graphics card?

[Image: all-thin-banner.jpg]
find quote
Warner306 Offline
Posting Freak
Posts: 2,690
Joined: Feb 2014
Reputation: 92
Location: Canada
Post: #15
(2014-12-03 04:53)Talguy Wrote:  This is a great guide and im going to try and incorporate it into my setup this weekend. I also have the nvidia gts450. Its a great cheap video card. However I can't get good 23.976p playback with XBMC and that card. Was reclock enough to get you the correct playback or did you have to do more setup at the windows and graphics card level? What nvidia driver version are you running with the graphics card?

You won't like this, but I can't get perfect 24p playback either. Audio sync is better with Reclock (PCM or bitstream), but the odd title is still off. I'm using 60p playback until I upgrade my computer. I don't know my driver version, but it's recent.

On a Samsung LED, 24p is isn't drastically better, anyways. I can still see judder in panning shots (due to the slower refresh rate) and the odd artifact. But this guide is somewhat about being obsessive about everything (not using the Kodi GUI to squeeze extra picture quality out of some crappy compressed video is obsessive). So 24p playback would be an upgrade in the future.
(This post was last modified: 2015-02-18 00:48 by Warner306.)
find quote
Post Reply