Win HOW-TO play Blu-ray Disc with External Player and auto adjust refresh rate
#1
Guide to play Blu-ray disc with external player and auto adjusted refresrate

I have struggled with this for a while and with recent updates to XBMC I finally got it to work. I thought I'd share my findings and write you all a small guide on how to make it work.

Applications used in this guide:

ReClock 1.8.5.5

TotalMedia Theater 3 Platinum 3.0.1.160 (TMT)
SlySoft AnyDVD HD (a free and lighter alternative to this is DisplayChanger)
XBMC for Windows (dx-version) starting with build 25821 Found here


Installation and configuration:
Install all the applications mentioned above. Make sure you install ReClock after you install TMT.

First of all we want XBMC to recognize the Blu-ray disc in your drive and execute TMT to play it with, when you hit "PLAY DISC" in XBMC. To do this you have to set up an external player (How-to Wiki)

An external player is set up by placing a xml file called playercorefactory.xml in your userdata folder. The userdata folder can be found in various places.

Windows Vista & Windows 7: C:\Users\<Username>\AppData\Roaming\XBMC\UserData
Windows XP: C:\Documents and Settings\<Username>\Application Data\XBMC\UserData

Place the following xml in that directory and edit it to point to your uMCEDVDPlayer.exe. Make sure to change the args to point to your Blu-ray player:
(The reason I use uMCEDVDPlayer.exe is because it seems to be made for remote control use, easier gui with bigger controls and so on. You can of course choose to use the default program .exe)
Code:
<playercorefactory>
  <players>
    <player name="TMTMCEPlayer" type="ExternalPlayer" audio="false" video="true">
      <filename>C:\Program Files\ArcSoft\TotalMedia Theatre 3\uMCEDVDPlayer.exe</filename>
    <args>"D:"</args>
      <hidexbmc>true</hidexbmc>
      <hideconsole>true</hideconsole>
      <warpcursor>none</warpcursor>
    </player>
  </players>
  <rules action="prepend">
    <rule name="Blu-Ray" protocols="bd" player="TMTMCEPlayer"/>
  </rules>
</playercorefactory>
Download: playercorefactory.xml

Now XBMC will start TMT to play your Blu-ray disc. Next up is to get ReClock to change your refresh rate to match that of the movie. ReClock is primarely used give you smoother playback and as a bonus it gives us the possibility to create a auto refresh rate script.

Find ReClock in your start meny and open "Configure ReClock". The important settings to do here (you can of course do so much more, but these are the ones needed for this operation)
  • Force ReClock to be loaded in place of default renderers should be checked
  • Advanced settings - Enable events notifications to VBS script when display mode is changing should checked
  • Don't restrinct app loading should not be checked and below it you will have to Add... "uMCEDVDPlayer.exe" located in your TotalMedia Theater install directory. Select Load always for this item.

Image

ReClock is now instructed to load when it detects a movie started in TMT and to run a VBS-script (RunEvent.vbs) What you need to do now is to create this script and place it in the ReClock install directory.

The RunEvent.vbs looks like this:

Code:
' -------------------------------------
' Event notification script for ReClock
' -------------------------------------
'
' This script will be called when ReClock change the media adaptation of a played file
' either automatically or after some manual change made in the properties panel
' It is called only for media file which contain a video stream, and when frame rate of this file is known
'
' ---------------------------------------------------------------------------------------------
' The 7 parameters received by this script are explained below:
'
' (1) contains the event name that just occurred:
'    - "GREEN"  : tray icon just got green (all is fine). Parameter
'    - "YELLOW" : tray icon just got yellow. We should make what is necessary
'                 to change the monitor refresh rate
'    - "STOP"   : playback just stopped
'    - "QUIT"   : ReClock is about to quit
'
' Parameters (2), (3), (8) and (9) apply only with "GREEN" and "YELLOW" events. Otherwise they contain "-"
'
' (2) contains the type of media file currently played :
'    - "CINEMA" : frame rate of source file is around 24 fps
'    - "PAL"    : frame rate of source file is around 25 fps
'    - "NTSC"   : frame rate of source file is around 30 fps
'    - "CUSTOM" : frame rate of source file does not fall in previous categories
'
' (3) contains the current sound playback mode (apply only with GREEN/YELLOW event):
'    - "PCM"    : PCM mode
'    - "SPDIF"  : AC3 passthrough SPDIF
'
' (4) contains the current monitor selected for playback (1=primary, 2=secondary, etc...)
'
' (5) contains the total monitor count detected in the system
'
' (6) contains the current resolution of your monitor (WIDTHxHEIGHT)
'
' (7) contains the current refresh rate of your monitor (in Hz)
'
' (8) contains the original playback rate of the file (in fps multiplied by 1000)
'
' (9) contains the current playback rate of the file (in fps multiplied by 1000)
'
' (10) contains the filename of the current media file
'
' ---------------------------------------------------------------------------------------------
' Notifications examples:
'   - GREEN CINEMA PCM 1 1 1024x768 72 23976 24000 c:\test.avi : all is good
'   - GREEN NTSC PCM 1 1 1024x768 60 29970 30000  c:\test.avi : all is good
'   - YELLOW PAL SPDIF 1 1 1024x768 72 25000 25000 c:\test.avi : please switch to a multiple of 25 hz since PAL wants 25 fps
'   - YELLOW CINEMA SPDIF 1 1 1024x768 75 23976 23976 c:\test.avi : please switch to 71.928 hz
'
' ---------------------------------------------------------------------------------------------
' Decode the parameters
Set objArgs = WScript.Arguments
If objArgs.Count < 10 Then
    MsgBox "Bad argument count !",  MB_OK, "ReClock Event Notification"
    
    ' We have done nothing. Return 1 to indicate ReClock that
    ' the configuration has not changed
    WScript.Quit 1
End If

eventName = objArgs(0)
mediaType = objArgs(1)
soundMode = objArgs(2)
currentMonitor = objArgs(3)
totalMonitorCount = objArgs(4)
currentResolution = objArgs(5)
currentRefreshRate = objArgs(6)
originalPlaybackSpeed = objArgs(7)
currentPlaybackSpeed = objArgs(8)
currentMediaFile = objArgs(9)

' If you need to debug, replace false with true in the following line
if false Then MsgBox _
    eventName & " " & _
    mediaType & " " & _
    soundMode & " " & _
    currentMonitor & " " & _
    totalMonitorCount & " " & _
    currentResolution & " " & _
    currentRefreshRate & " " & _
    originalPlaybackSpeed & " " & _
    currentPlaybackSpeed, _
    MB_OK, "ReClock Event Notification"


    Set wshShell = CreateObject("WScript.Shell")


' Obviously we have something to do only if the icon is yellow
If eventName = "YELLOW" Then

If originalPlaybackSpeed="23976" Then
    newRefreshRate = "23"
    WshShell.Run """C:\Program files\SlySoft\AnyDVD\SetDisplayFrequency.exe"" " & newRefreshRate, 0, true    
End If

If originalPlaybackSpeed="24000" Then
    newRefreshRate = "24"
    WshShell.Run """C:\Program files\SlySoft\AnyDVD\SetDisplayFrequency.exe"" " & newRefreshRate, 0, true    
End If

If originalPlaybackSpeed="25000" Then
    newRefreshRate = "50"
    WshShell.Run """C:\Program files\SlySoft\AnyDVD\SetDisplayFrequency.exe"" " & newRefreshRate, 0, true         
End If

    WScript.Quit 1

End If

' We quit the player, restore our favorite refresh rate and/or resolution
If eventName = "QUIT" Then
  
    newRefreshRate = "60"

       WshShell.Run """C:\Program files\SlySoft\AnyDVD\SetDisplayFrequency.exe"" " & newRefreshRate, 0, true
          
       WScript.Quit 1

End If

WScript.Quit 1

Download: RunEvent.zip
(There are alot of RunEvent-scripts out there besides mine. They can be found by a simple google search or by browsing the ReClock forum)

In this example I use SlySoft AnyDVD HD's SetDisplayFrequency.exe to change the refresh rate. You can also use DisplayChanger or any other similar program if you like.

Code:
DisplayChanger example:

    WshShell.Run """C:\Program files\12noon Display Changer\dccmd"" -refresh=" & newRefreshRate, 0, true

Make sure you have set up these resolutions/refresh rates in your GPU settings. (I use an NVIDIA 9500GT HeatSink HDMI)

Place the RunEvent.vbs in ReClock install dir (in my case C:\Program Files\ReClock\)

That's it! You're done. You should now have a working external player-script that will run your Blu-Ray discs with TMT and give you smooth video and accurate refresh rate with ReClock.

I hope this guide will be of use. If anything is unclear just ask and I will try to answer Smile
Reply


Messages In This Thread
HOW-TO play Blu-ray Disc with External Player and auto adjust refresh rate - by mindweaver - 2009-12-21, 07:29
[No subject] - by ashlar - 2009-12-21, 11:03
[No subject] - by bobrap - 2009-12-21, 16:54
[No subject] - by Laundro - 2009-12-22, 21:57
[No subject] - by mindweaver - 2009-12-22, 22:36
[No subject] - by Laundro - 2009-12-22, 23:21
[No subject] - by mindweaver - 2009-12-22, 23:29
[No subject] - by Laundro - 2009-12-22, 23:31
[No subject] - by goldstarQC - 2009-12-24, 00:15
[No subject] - by mindweaver - 2009-12-24, 10:22
[No subject] - by ashlar - 2009-12-27, 16:09
[No subject] - by mindweaver - 2009-12-27, 17:19
[No subject] - by goldstarQC - 2009-12-28, 05:38
[No subject] - by mindweaver - 2009-12-28, 09:24
[No subject] - by ben_moo - 2009-12-29, 13:41
[No subject] - by dunnp - 2009-12-29, 18:57
[No subject] - by mindweaver - 2009-12-29, 22:02
[No subject] - by zyxel13 - 2010-01-01, 23:34
[No subject] - by ben_moo - 2010-01-02, 07:37
[No subject] - by FattyMcDirty - 2010-01-02, 13:44
[No subject] - by PatrickB - 2010-01-02, 17:52
[No subject] - by PatrickB - 2010-01-04, 22:54
[No subject] - by iBROX - 2010-01-05, 02:25
[No subject] - by mindweaver - 2010-01-05, 07:27
[No subject] - by mindweaver - 2010-01-05, 07:29
[No subject] - by ethanmcdonald - 2010-01-05, 08:36
[No subject] - by PatrickB - 2010-01-05, 18:24
arrrgggg - by jonnyboom - 2010-01-06, 11:18
[No subject] - by mindweaver - 2010-01-06, 12:55
[No subject] - by mindweaver - 2010-01-06, 12:57
[No subject] - by jonnyboom - 2010-01-06, 14:14
[No subject] - by jonnyboom - 2010-01-07, 00:51
no blu ray - by jonnyboom - 2010-01-08, 15:57
[No subject] - by mindweaver - 2010-01-09, 14:32
[No subject] - by bollerfant - 2010-01-09, 17:48
[No subject] - by mindweaver - 2010-01-10, 02:23
[No subject] - by bollerfant - 2010-01-10, 14:04
[No subject] - by jonnyboom - 2010-01-11, 11:50
[No subject] - by ethanmcdonald - 2010-01-12, 15:34
[No subject] - by spiff - 2010-01-12, 15:38
[No subject] - by jonnyboom - 2010-01-14, 22:35
[No subject] - by catdroid - 2010-01-14, 23:52
[No subject] - by mindweaver - 2010-01-15, 07:56
[No subject] - by jonnyboom - 2010-01-15, 22:17
[No subject] - by Sylus - 2010-01-17, 01:13
[No subject] - by catdroid - 2010-01-17, 04:57
[No subject] - by Sylus - 2010-01-17, 13:55
[No subject] - by slick2000 - 2010-01-17, 18:16
[No subject] - by slick2000 - 2010-01-17, 21:14
Playing automatically - by mcdannej - 2010-01-19, 07:32
[No subject] - by dfmos - 2010-01-25, 03:32
[No subject] - by voltiosin - 2010-01-30, 06:38
[No subject] - by slick2000 - 2010-01-30, 10:16
[No subject] - by slick2000 - 2010-01-30, 10:22
[No subject] - by voltiosin - 2010-01-30, 18:10
[No subject] - by mindweaver - 2010-02-04, 10:57
Do Bluray on second display - by jfondin - 2010-03-26, 02:51
[No subject] - by tasoik - 2010-03-27, 16:10
[No subject] - by zilexa - 2010-03-30, 10:48
[No subject] - by dpandkp - 2010-03-31, 01:50
[No subject] - by Darkcloud28 - 2010-04-18, 04:27
[No subject] - by Darkcloud28 - 2010-04-18, 04:34
[No subject] - by leceur - 2010-04-28, 12:10
[No subject] - by supertom44 - 2010-04-30, 12:27
[No subject] - by raptor1 - 2010-05-12, 15:22
[No subject] - by runner - 2010-05-12, 21:35
[No subject] - by outburst81 - 2010-05-18, 07:26
[No subject] - by neil_g - 2010-08-26, 11:23
[No subject] - by punking - 2010-09-17, 18:36
[No subject] - by sternyy - 2010-10-01, 22:16
[No subject] - by Se7enDays - 2010-11-11, 23:32
[No subject] - by ShabbyDog - 2010-11-17, 10:07
[No subject] - by twinpeaks - 2010-12-21, 13:58
[No subject] - by Schoolisoutfan - 2010-12-22, 22:29
[No subject] - by flyingernst - 2010-12-25, 13:56
[No subject] - by tco42 - 2010-12-28, 15:49
[No subject] - by Schoolisoutfan - 2011-01-01, 15:42
[No subject] - by pigeta - 2011-01-07, 23:45
A little help? - by andrewtdop - 2011-01-25, 20:02
[No subject] - by ltcharles - 2011-02-06, 03:30
[No subject] - by gpborges - 2011-02-06, 04:49
[No subject] - by dub273 - 2011-03-20, 17:39
[No subject] - by dub273 - 2011-04-28, 18:56
[No subject] - by oxyris - 2011-05-10, 00:59
[No subject] - by oxyris - 2011-05-10, 02:11
[No subject] - by Juggernaut - 2011-05-29, 18:23
[No subject] - by linuxluemmel - 2011-06-12, 11:25
[No subject] - by QLink - 2011-06-21, 10:01
[No subject] - by QLink - 2011-06-26, 22:57
[No subject] - by EmeraldICE - 2011-07-13, 04:58
[No subject] - by bluc - 2011-07-29, 05:11
is this possible? - by spleeker - 2011-08-16, 22:14
[No subject] - by bluray - 2011-08-16, 23:19
[No subject] - by spleeker - 2011-08-17, 00:52
[No subject] - by bluray - 2011-08-17, 04:14
[No subject] - by spleeker - 2011-08-17, 05:28
[No subject] - by bluray - 2011-08-17, 05:57
Average Load time for Blu-rays - by gpborges - 2011-08-18, 15:23
[No subject] - by bluray - 2011-08-18, 15:52
[No subject] - by gpborges - 2011-08-18, 16:33
[No subject] - by bluray - 2011-08-18, 18:07
[No subject] - by gpborges - 2011-08-18, 18:23
[No subject] - by Aelius - 2011-09-06, 13:49
[No subject] - by bluray - 2011-09-06, 16:02
[No subject] - by bodhi - 2011-09-21, 02:58
[No subject] - by bluray - 2011-09-21, 04:03
[No subject] - by bodhi - 2011-09-21, 04:18
[No subject] - by bluray - 2011-09-21, 04:54
[No subject] - by clubwerks - 2011-11-19, 02:14
[No subject] - by Roman_V_M - 2011-11-23, 11:48
[No subject] - by bluray - 2011-11-23, 16:04
[No subject] - by Nameless_87 - 2011-12-03, 16:46
[No subject] - by bluray - 2011-12-12, 07:16
[No subject] - by yallah - 2011-12-19, 00:32
[No subject] - by yallah - 2011-12-20, 09:47
Logout Mark Read Team Forum Stats Members Help
HOW-TO play Blu-ray Disc with External Player and auto adjust refresh rate1