Habilitando el autocambio de refresco en los reproductores externos
A) MPC-HC
Para que se cambie automáticamente los Hz. de nuestra TV cuando usamos un reproductor externo como MPC-HC tendremos que recurrir a Reclock (aunque si queréis no nos acelerará nada, simplemente se encargará de cambiarnos el refresco de la TV), que lo podéis descargar gratuitamente desde aquí:
https://forum.slysoft.com/forumdisplay.php?85-ReClock&
Antes de nada necesitaremos el programa
Display Changer de 12noon que tenéis disponible aquí:
Display Changer « 12noon
Tras instalarlo, copiaremos lo siguiente:
' -------------------------------------
' 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
'
' -----------------------------------------------------------------
' Display Changer Version - Sets refresh rate using Display changer
' -----------------------------------------------------------------
' 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")
' We will put new refresh rate here if necessary.
newRefreshRate = currentRefreshRate
' Obviously we have something to do only if the icon is yellow.
If eventName = "YELLOW" Then
If currentRefreshRate <> originalPlaybackSpeed Then
Select Case mediaType
Case "CINEMA"
newRefreshRate = "23"
Case "PAL"
newRefreshRate = "50"
Case "NTSC"
newRefreshRate = "60"
End Select
End If
End If
' We quit the player, restore our favorite refresh rate.
If eventName = "QUIT" Then
newRefreshRate = "60"
End If
' Do we have new refresh rate to apply ?
If currentRefreshRate <> newRefreshRate Then
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(&H26&)
Set objFolderItem = objFolder.Self
' Now run DisplayChanger command and wait for it to finish its job.
WshShell.Run """" & objFolderItem.Path & _
"\12noon Display Changer\dc64.exe"" -refresh=" & newRefreshRate & _
" -quiet", 0, true
' In case we did a configuration change we MUST return 0 to indicate ReClock it need to recalibrate itself.
WScript.Quit 1
End If
' We have done nothing. Return 1 to indicate ReClock that the configuration has not changed.
WScript.Quit 1
Si os fijais, donde pone:
Select Case mediaType
Case "CINEMA"
newRefreshRate = "23"
Case "PAL"
newRefreshRate = "50"
Case "NTSC"
newRefreshRate = "60"
End Select
Podemos poner los refrescos según el material. Si nuestra TV soporta los 23,976 hz recomiendo dejarlo así.
SOLO PARA AQUELLOS QUE SU TV NO SOPORTA 24 Hz.
Si tu TV no tiene soporte para los 24 Hz. (es decir, solo soporta 50 Hz. y 60 Hz.), pues donde pone:
newRefreshRate = "23" lo cambiamos por newRefreshRate = "50"
Finalmente, donde pone (casi al final):
WshShell.Run """" & objFolderItem.Path & _
"\12noon Display Changer\dc64.exe"" -refresh=" & newRefreshRate & _
Atención a lo subrayado: si nos hemos bajado el Display Changer de 64 bits lo dejaremos tal y como está, si nos hemos bajado el de 32 bits lo cambiaremos por
dccmd.exe
Ahora le damos a
Archivo --> Guardar Como...:
Y ahora acordaos en el bloc de notas donde pone
Tipo, ponemos
Todos los archivos (*.*) y guardamos el archivo como
RunEvent.vbs en la carpeta
C:\Program Files (x86)\ReClock
Ahora abrimos el configurador de reclock, nos vamos a la pestaña
Advanced Settings y activamos la opción
Enable events notifications to VBS script when display mode is changing.
Bien, ya casi lo tenemos todo listo. Ahora al reproducir un archivo debería abrirse
MPC-HC junto con reclock, que se encargará de cambiar automáticamente de hz.
Si no habeis agregado el programa en las opciones de reclock (en la pestaña de
Avdanced settings) os saldrá un mensaje diciendo que si quereis usar reclock con dicho programa, le dais a
Yes, always (don't ask again) y listo:
Bueno, una vez asegurados de que Relcock se nos ha abierto y se carga con el reproductor, comprobamos que aparece en la barra de tareas (a la derecha, donde salen el resto de iconos) un relojito, que debería estar en verde:
Hacemos doble click en el relojito y nos aparecerá una ventana nueva de configuración. Importante activar la opción de
Use DSound Resampling).
Es posible que la primera vez que usemos reclock el reloj parpadee entre rojo y verde. No pasa nada, simplemente esperaís un par de minutos, cerraís el reproductor y volveis a abrirlo otra vez con el vídeo y ya os debería salir verde.
Una vez configurado correctamente, teóricamente al abrirse reclock, éste detectará los fps de la película, cambiando automáticamente la TV a los hz que le hemos indicado en el archivo de antes.
Si no quereís usar Reclock (por el motivo que sea), podeís usar el autocambio de refresco del propio MPC-HC. Para ello os vais a
Opciones --> Reproducción --> Pantalla Completa y rellenaís cada opción con sus hz adecuados:
Aunque lo cierto es que a algunas personas esta segunda opción no les funciona demasiado bien, por lo que recomiendo el uso de Reclock.