Jump to content

Video frame rate switcher von SnoopyDog


Recommended Posts

Habe jetzt die 9.6 installiert.

Das ruckln nach dem Umschalten zu 24 oder 25 Hz ist leider immer noch da.

Wenn ich den CustomRenderer (benutzte neueste DVBViewer Beta) abschalte, funktioniert das Plugin.

Wenn ich Rebuild Graph auf 1 stelle, funktioniert das Plugin nicht mehr!

 

PS. Ich habe win7 als Betriebssystem

Link to comment
  • 4 weeks later...
  • Replies 83
  • Created
  • Last Reply

Top Posters In This Topic

  • SnoopyDog

    22

  • BALOU

    7

  • zpingo

    6

  • nuts

    6

Top Posters In This Topic

Posted Images

Hallo SnoopyDog.

 

Könntest Du mir mal Informamationen über Deine Einstellungen, Codecs, Hardware, Treiber und DVBviewerversion

geben.

 

Ich krieg das Problem mit der Umschaltung nach 24Hz nicht in Griff.

 

Mein System:

Win 7

MPEG2 Codec Poverdvd8

H264 COREAVC

Ac3 AC3Filter

DVBViewer CustomEVR Renderer

 

Ati Radeon 4870

 

 

PS Frohes neues Jahr

Link to comment
  • 1 month later...

Hi SnoopDog,

 

wirklich ein großartiges Plugin auf das ich schon lange gewartet habe. Meine Vorschlag wäre aber noch 2 Frequenzen hinzuzufügen.

 

Problem:

 

Hab MKV mit 24fps und MKV mit 23.976fps. Die Bildwiederholfrequenz kann ich aber getrennt angebene. Sprich für beide FPS. Wenn ich jetzt 24hz mache für 23.976 hab ich ruckler im Bild. Änder ich auf 23.976 natürlich nicht. Dann ist es aber doof bei dem 24fps Video.

 

Das gleiche Prozedere würde mir da noch für 60hz einfallen wobei bei 60hz ist es glaub ich immer 59.###### genau wie bei 30hz es immer 29.###### ist.

 

Gruß dacula

Link to comment
  • 2 months later...

Ich würde das Thema 24Hz <> 23.976Hz gerne nochmal aufgreifen. Ich nutze auch den Frame Rate Switcher, habe aber ebenfalls das Problem, dass entweder nur die 24fps oder die 23.976fps Filme flüssig laufen. Wäre wirklich schön, wenn es hier unterschiedliche Profile gäbe für die beiden Frequenzen.

 

Viele Grüße

michaelp

Link to comment
  • 2 weeks later...

Werde bei Gelegenheit mal schauen, was ich tun kann.

 

Leider funktioniert das Plugin NICHT unter XP mit dem neuen Custom VMR9 Renderer im D3D Exklusiv-Modus! Daran kann weder Lars noch ich so schnell etwas ändern (hat mit Microsoft Vorgaben zu tun)!

Link to comment
  • 2 months later...

Hallo SnoopyDog.

 

Könntest Du mir mal Informamationen über Deine Einstellungen, Codecs, Hardware, Treiber und DVBviewerversion

geben.

 

Ich krieg das Problem mit der Umschaltung nach 24Hz nicht in Griff.

 

Mein System:

Win 7

MPEG2 Codec Poverdvd8

H264 COREAVC

Ac3 AC3Filter

DVBViewer CustomEVR Renderer

 

Ati Radeon 4870

 

 

PS Frohes neues Jahr

 

Hallo zpingo.

 

Hast du das Problem mit dem Ruckeln schon in den Griff bekommen? Bei mir ist es genau das gleiche. Es ruckelt nach dem umschalten auf 24Hz, wenn ich RebuildGraph einschalte geht das Plugin nicht mehr.

 

Manchmal stürtzt der DVBViewer nach der umschaltung ab und nur ein OS neustart hilft.

 

Mein System:

Win 7 x64

MPEG2 Codec Poverdvd9

H264 PowerDVD9

Ac3 AC3Filter

DVBViewer CustomEVR Renderer

ATI CCC: 10.2 (bei allen darüber wird Overscan nicht gespeichert)

Ati Radeon 4650

 

Danke

pOpY

Link to comment

Guten Morgen,

 

Bei mir funktioniert das Plugin leider irgendwie nicht :mellow:

 

Windows 7, 32 Bit

Geforce 9800 GTX@259.09

DVBViewer 4.3.1.165beta

EVR Custom Renderer

 

Das Plugin "erzählt" zwar, daß es umschaltet, aber das tut es nicht.

In der NV-Control-Panel ändert sich nichts, was die Bildwiederholrate betrifft.

post-44089-082000700 1281245190_thumb.png

post-44089-040648700 1281245254_thumb.png

Edited by cinergy
Link to comment

Hallo.

 

Das Plugin ist eher empfindlich bei der Angabe des externen Programms.

Ich hab auch mal kurz damit experimentiert.

Am besten du machst Dir eine Batch Datei die in einem Pfad liegt wo keine Leerzeichen drinnen sind, also z.B:

 

C:\ProfileSwitcher\SwitchProfile.bat %s

 

diese Batchdatei gibt dem richtigem Programm (NVIDIA) alle nötigen Parameter mit.

Mit %1 in einer Batch kann du dann den durch %s übergebenen Parameter verwenden.

 

So kannst du auch mit der Batch schön manuell testen ob dein Aufruf des NVidia Programms funktioniert.

 

Viel Glück

pOpY

Link to comment

Hallo.

 

Das Plugin ist eher empfindlich bei der Angabe des externen Programms.

Ich hab auch mal kurz damit experimentiert.

Am besten du machst Dir eine Batch Datei die in einem Pfad liegt wo keine Leerzeichen drinnen sind, also z.B:

 

C:\ProfileSwitcher\SwitchProfile.bat %s

 

diese Batchdatei gibt dem richtigem Programm (NVIDIA) alle nötigen Parameter mit.

Mit %1 in einer Batch kann du dann den durch %s übergebenen Parameter verwenden.

 

So kannst du auch mit der Batch schön manuell testen ob dein Aufruf des NVidia Programms funktioniert.

 

Viel Glück

pOpY

 

Hallo,

 

Habe jetzt den Fehler gefunden.

Obwohl der Plasma im NV-Control-Panel "DISPLAY 1" ist, ist er komischerweise für dccmd "DISPLAY 2"

 

Hätte ich vorher bemerken KÖNNNEN, wenn ich nicht für meinen Hauptmonitor (SONY F520 CRT) eine angepasste inf verwenden würde, welche nur 85Hz erlaubt :whistle:

So allerdings konnte bei diesem Monitor keine Umschaltung erfolgen, da meine inf für diesen Monitor keine der angegebenen Wiederholraten unterstützt.

Es war eben immer nur kurz das cmd-Fenster zu sehen, was zwar ein Zeichen war, daß das Programm reagierte und die Pfade ok sind, aber es passierte eben nichts.

 

Habe dann mal in der Kommandozeile den -listmodes Parameter angewendet und kam dadurch drauf, da das Programm mir dort für 1 die Auflösung/Wiederholraten des SONY angezeigt hat - und umgekehrt :rolleyes:

Edited by cinergy
Link to comment

Hatte jetzt noch ein anderes Problem.

Trotz 50 Hz Wiederholrate ruckelten auf einmal alle XviD/DivX.

In ganz komischen Abständen. Mal lief es 5 Minuten flüssig, dann wieder minutenlang ruckelig.

 

Nachdem ich nun noch Reclock eingebunden und ewig gebraucht habe, bis sich auch alle möglichen Kombinationen von Audio-/Video-Formaten hin- und herschalten lassen konnten und laufen, bin ich nun wirklich glücklich, was das betrifft.

 

Waren mehrere Stunden Arbeit.

Irgendwie hatte sich dann noch Windows mit den Meriten verschluckt, so daß erstmal so einiges gar nicht mehr ging.

Dann lief entweder h264 mit DTS nicht oder mit AAC nicht, oder die HD-Sender liefen nicht.

Zwischendurch hatte der TV auch wieder mal seine Display ID gewechselt - also aus 2 wurde wieder 1 usw. :rolleyes:

 

Nun geht aber auf den ersten Blick SCHEINBAR alles und alles ruckelfrei.

Aber die Anleitung + Einstellungen + worauf man alles achten muß/sollte würde ein Buch füllen :rotfl:

 

ffdsow z.B. ist Fluch und Segen zugleich.

Für HD nicht wirklich brauchbar, da Probleme mit Reclock, aber für XviD/DivX und SD-TV unverzichtbar, da mit keinem anderen Decoder hochqualitatives Upscaling möglich ist (Spline, Lanczos).

XviD in Standardauflösung mit Upscaling durch den TV selbst ist nämlich ein Graus.

Aber das ist schon wieder eine andere Geschichte....

Edited by cinergy
Link to comment
  • 1 month later...

Hallo.

 

Seit dem Update auf DVBViewer 4.5RC2

 

funktioniert das Plugin nicht mehr richtig!

Es wechselt nur dann die Frequenz wenn ich vorher die

Wiedergabe beende und dann das neue Video starte.

Vor dem Update hat alles noch funktioniert.

 

Hat sonst noch jemand dieses Problem ?

Link to comment
  • 4 weeks later...

Bisher ist da leider nichts zu machen. Ich habe alles mögliche probiert (ini Einstellungen) aber kein Erfolg gehabt.

Wie es dagegen um Reclock bestellt ist kann ich dir aber nicht sagen, habe ich mich noch zu wenig damit beschäftigt.

Ich denke CiNcH ist darin firm.

Link to comment
  • 3 months later...

Habe ein Update hochgeladen:

  • Neues Profil für 23 Hertz
  • Windows API kann zum Umschalten der Frequenz verwendet werden. Es wird kein externes Programm mehr benötigt.
  • Zeitpunkt des Umschaltens verlagert. Funktioniert zuverlässiger.

http://www.DVBViewer.tv/forum/topic/31401-video-frame-rate-switcher/

Link to comment

Hallo Snoopy

 

Warum bietet mir der Switcher über die Windows API nur 60Hz an, getestet unter XP und Vista?

Des Weiteren gibt es einen Bug sofern man in der ini RebuildGraph = 1 setzt, dann ist die GUI über Plugins nicht mehr zu erreichen.

Link to comment

Ich erfrage über das Windows API alle erlaubten Frequenzen für die momentan gewählte Auflösung des selektierten Monitors. Was siehst Du, wenn Du Dir unter "Rechtsklick auf Desktop" - "Eigenschaften" - "Einstellungen" - "Erweitert" - "Monitor" die Wiederholfrequenzen anschaust?

 

Ich habe das Ganze "mal eben schnell" gestern Nachmittag programmiert und derzeit nur mit nVidia unter Windows XP getestet. Wenn ich in der NVIDIA Systemsteuerung eine benutzerdefinierte Auflösung mit 23 Hertz Wiederholfrequenz anlege, wird mir die auch zusätzlich vom Plugin angezeigt.

 

Hast Du ne ATI-Karte? Hast Du mehr als einen Monitor zur Auswahl im Plugin? Verwendest Du den Overlay-Renderer oder den Custom EVR9 im D3D exclusive Modus?

Edited by SnoopyDog
Link to comment

Also, es gibt ja einerseits die Möglichkeit alle verfügbaren Desktopfrequenzen anzeigen zu lassen und alle unterstützten. Aufgeführt werden dabei als unterstützte unter XP 50 & 60Hz.

Zur Auswahl habe ich über dein Plugin allerdings nur 60Hz.

Ein Monitor, ATI HD4550, CustomVMR9 (nicht D3D Exclusiv!) und die zusätzlich angelegten Frequenzen erscheinen auch nicht unter den Windows verfügbaren (24Hz).

 

Kannst du den "Bug" nachvollziehen (war schon in der letzten Version drin aber ich ging von einem Systemfehler bei mir aus)?

Edited by Tüftler
Link to comment
  • 4 weeks later...

habe jetzt auch das Plugin im Einsatz und habe mit einer Nvidia GT240 folgendes Problem:

 

Wenn ich einen Film (MKV 24p) starte wechselt auch die Wiederholfrequent von 50Hz auf 24Hz und der Film läuft ohne fehler durch.

 

Wenn ich aber den Film stoppe stürzt der DVBViewer beim wechsel von 24 auf 50Hz ab und kann nur noch via Taskmanager gekillt werden....

 

System:

 

WinXP

DVBViewer 4.6.0.1

Overlaymodus

Hz wird über Windows-API umgeschaltet

 

vielleicht einer eine Idee?

Link to comment
  • 1 month later...

Sorry daß ich mich so lange nicht gemeldet habe. Zu dem von Tüftler geschilderten Problem: Mit nVidia und dem "alten" ATI-Treiber 10.3 hat das Umschalten über Windows API bisher problemlos geklappt. Seitdem ich gestern Abend auf Catalyst 11.5 hochgezogen habe, bekomme ich auch nur noch 60 Hertz angezeigt.

 

Ich schau heute Abend mal nach, woran das liegen könnte.

Link to comment

Mit meiner HD5670 (Treiber muss ich nachschauen) tut sich über die winapi leider auch nichts.

 

23, 24, 50, 59, 60hz wird mir von deinem Plugin angeboten (deckt sich mit der windows Anzeige).

Nur die Umschaltung wird nicht gesetzt. Ich schau mir das morgen nochmal an und vergleiche mit meinem Skript.

 

edit\ Mit Intel clarkdale GPU klappt die Umschaltung per winapi.

Edited by nuts
Link to comment

So nach dem Upgrade auf 11.5 bleibt es dabei.

Per Winapi von deinem Plugin ist leider keine Änderung möglich.

Mit dieser Funktion klappt es auf meinem System.

 

;====================================================================================
;
;Function Name:  _ScreenSetting()
;Description:      Changes the screen resolution, color dept and refresh rate
;Version:         1.0
;Parameters:        $iWidth   - Width of the desktop screen in pixels. (horizontal resolution)
;               $iHeight  - Height of the desktop screen in pixels. (vertical resolution)
;               $iDepth   - Depth of the desktop screen in bits per pixel.
;               $iRefresh - Refresh rate of the desktop screen in hertz.
;Return Value(s):   On Success - Screen is adjusted
;               On failure - Message with error description
;Requirement(s):    Tested on AutoIt 3.2.10.0
;Autor(s):      R.Gilman (a.k.a rasim); special thanks to amel27
;
;====================================================================================


Func _ScreenSetting($iWidth = @DesktopWidth, $iHeight = @DesktopHeight, $iDepth = @DesktopDepth, $iRefresh = @DesktopRefresh)
   Local Const $DISP_CHANGE_SUCCESSFUL = 0
   Local Const $DISP_CHANGE_RESTART = 1
   Local Const $DISP_CHANGE_FAILED = -1
   Local Const $DISP_CHANGE_BADMODE = -2
   Local Const $DISP_CHANGE_NOTUPDATED = -3
   Local Const $DISP_CHANGE_BADFLAGS = -4
   Local Const $DISP_CHANGE_BADPARAM = -5

   Local Const $CDS_TEST = 0x4
   Local Const $CDS_UPDATEREGISTRY = 0x1

   Local Const $DM_PELSWIDTH = 0x80000
   Local Const $DM_PELSHEIGHT = 0x100000
   Local Const $DM_BITSPERPEL = 0x40000
   Local Const $DM_DISPLAYFREQUENCY = 0x400000

   Local Const $ENUM_CURRENT_SETTINGS = -1
   Local Const $WM_DISPLAYCHANGE = 0x007E
   Local Const $HWND_BROADCAST = 0xFFFF
   Local Const $SPI_SETNONCLIENTMETRICS = 0x2A

   Local $DEVMODE, $DllRet

   $DEVMODE = DllStructCreate("char dmDeviceName[32];ushort dmSpecVersion;ushort dmDriverVersion;short dmSize;" & _
           "ushort dmDriverExtra;dword dmFields;short dmOrientation;short dmPaperSize;short dmPaperLength;" & _
           "short dmPaperWidth;short dmScale;short dmCopies;short dmDefaultSource;short dmPrintQuality;" & _
           "short dmColor;short dmDuplex;short dmYResolution;short dmTTOption;short dmCollate;" & _
           "byte dmFormName[32];dword dmBitsPerPel;int dmPelsWidth;dword dmPelsHeight;" & _
           "dword dmDisplayFlags;dword dmDisplayFrequency")

   $DllRet = DllCall("user32.dll", "int", "EnumDisplaySettings", "ptr", 0, "dword", $ENUM_CURRENT_SETTINGS, _
           "ptr", DllStructGetPtr($DEVMODE))
   $DllRet = $DllRet[0]

   If $DllRet = 0 Then
       MsgBox(16, "Error", "Unable to get graphic mode")
       Return False
   EndIf

   $VGA_MAP_KEY = RegRead("HKLM\HARDWARE\DEVICEMAP\VIDEO", "\Device\Video0")
   $VGA_KEY = StringReplace($VGA_MAP_KEY, "\Registry\Machine", "HKLM")

   RegWrite($VGA_KEY, "PruningMode", "REG_DWORD", 0)

   DllStructSetData($DEVMODE, "dmSize", DllStructGetSize($DEVMODE))
   DllStructSetData($DEVMODE, "dmPelsWidth", $iWidth)
   DllStructSetData($DEVMODE, "dmPelsHeight", $iHeight)
   DllStructSetData($DEVMODE, "dmBitsPerPel", $iDepth)
   DllStructSetData($DEVMODE, "dmDisplayFrequency", $iRefresh)
   DllStructSetData($DEVMODE, "dmFields", BitOR($DM_PELSWIDTH, $DM_PELSHEIGHT, $DM_BITSPERPEL, $DM_DISPLAYFREQUENCY))

   $DllRet = DllCall("user32.dll", "int", "ChangeDisplaySettings", "ptr", DllStructGetPtr($DEVMODE), "int", $CDS_TEST)  ; hier wird geprüft ob die Änderung angenommen wurde
   $DllRet = $DllRet[0]

   If $DllRet <> $DISP_CHANGE_SUCCESSFUL Then  ;Auswertung
       Switch $DllRet
           Case $DISP_CHANGE_RESTART
               MsgBox(48, "Warning", "Restart your computer for change display settings")
           Case $DISP_CHANGE_FAILED
               MsgBox(16, "Error", "The video driver not set a new mode")
               Return False
           Case $DISP_CHANGE_BADMODE
               MsgBox(16, "Error", "Video mode not supported")
               Return False
           Case $DISP_CHANGE_NOTUPDATED
               MsgBox(16, "Error", "Unable to write in registry")
               Return False
           Case $DISP_CHANGE_BADFLAGS
               MsgBox(16, "Error", "Bad flags")
               Return False
           Case $DISP_CHANGE_BADPARAM
               MsgBox(16, "Error", "Bad parameters")
               Return False
       EndSwitch
   EndIf

   $DllRet = DllCall("user32.dll", "int", "ChangeDisplaySettings", "ptr", DllStructGetPtr($DEVMODE), "int", $CDS_UPDATEREGISTRY)  ;hier wird die Änderung dann durchgeführt
   $DllRet = $DllRet[0]

   DllCall("user32.dll", "int", "SendMessage", "hwnd", $HWND_BROADCAST, "int", $WM_DISPLAYCHANGE, _
           "int", $SPI_SETNONCLIENTMETRICS, "int", 0)  ;abfeuern der WM_DISPLAYCHANGE Nachricht (Auswirkungen unklar )

   RegWrite($VGA_KEY, "PruningMode", "REG_DWORD", 1)

   $DEVMODE = ""
   $DllRet = ""
EndFunc   ;==>_ScreenSetting

Edited by nuts
Link to comment

Hallo nuts,

 

wie genau benutze ich dein Script denn und wie bekomme ich es mit dem Video Frame Rate Switcher verbunden. Oder läuft das ganze alleine?

 

Vg

Link to comment

In der Form gar nicht - ist eher für Snoopydog zum vergleichen gedacht.

 

Hab dir zum Testen ein compiliertes Skript angehängt.

Die Wiederholungsfrequenz wird über Kommandoparamter definiert und kann somit ins Plugin eingebunden werden.

z.B.:

%/setdisplaycmd.exe -24 
%/setdisplaycmd.exe -50
%/setdisplaycmd.exe -60 

setdisplaycmd.rar

Link to comment

Hallo,

 

gibt es hier schon Neuigkeiten?

Seit dem ich den 11.5er installiert hab (ich musste ihn wegen der HD6570 installieren) klappt das "Switchen" weder mit den AMD Profilen, noch mit der Win API Option. :(

 

Grüße,

v!

Link to comment

hmm, darf ich mal fragen, wieso ihr kein ReClock benutzt?

 

das habe ich seit jeher laufen, mit der Option 'Enable events notifications to VBS script when display mode is changing',

dann das Beispiel VB Script RunEvent.SetDisplayFrequency.sample.vbs zu RunEvent.vbs kopiert, das Skript bißchen angepaßt,

für's Umschalten benutze ich den 12noon Display Changer, fertig.

Das ganze hat mich nicht mal 5 Minuten gekostet und funktioniert reibungslos :-D

Link to comment

Moin ZappoB,

 

Das klingt interessant, kannst du hier mal genauere Details verraten?

hmm, was genau möchtest Du denn wissen? :)

 

- ReClock installieren
- dann das VB Skript kopieren/bearbeiten
- dann Configure ReClock
 - Advanced Settings
   - VSYNC Correction: alle deaktivieren
   - Enable events notifications to VBS script when display mode is changing aktivieren
 Rest habe ich so gelassen

dann DVBViewer starten, dann kommt ein Popup von ReClock und fragt, ob und wie

man ReClock laden möchte. Ich lasse es immer laden, weil ich nichts schauen kann

ohne daß Ton und Bild zeitversetzt sind (egal ob Live TV oder Dateien)

 

Ansonsten kann man ReClock auch nicht automatisch laden lassen:

- Configure ReClock
 - Advanced Settings
   - Force ReClock to be loaded instead of default renderers: deaktivieren

und dann mit Audio A/B sich eine Bedingung erstellen (z.B. nur bei Dateien) und

dann bei der Bedingung den Audio Renderer ReClock im DVBViewer einstellen.

 

Das VB-Skript ist dann für die Bildwiederholfrequenz zuständig, welches dann,

in meinem Fall, den 12noon Display Changer zum eigentlichen Umschalten benutzt.

 

Noch mehr Fragen? dann her damit.

 

oder/und:

 

ReClock Forum: Thread über RunEvent.vbs

ReClock Forum: noch ein Thread über RunEvent.vbs

 

Link to comment

Im Skript ist mir SetDisplayFrequency aufgefallen, welches ein Tool von AnyDVD ist. Da aber Display Changer zum Umschalten benützt wird, erhebt sich die Frage, ob man SetDisplayFrequency bzw. eine Installation von AnyDVD überhaupt benötigt.

Link to comment

natürlich braucht man das nicht. Habe ich auch nicht geschrieben ;)

 

Ich habe geschrieben, daß ich dc benutze.

Das Programm von AnyDVD ist in meinem Attachment mit ' auskommentiert.

 

Da ReClock von der Firma SlySoft ist, AnyDVD ebenso und AnyDVD auch ein Programm

mit sich bringt welches sowas kann, haben die das halt per default dort

eingebaut. Ich hatte das auch mal probiert, funktioniert aber nicht zufriedenstellend,

daher mit dc von 12noon.

Link to comment

Würde sich denn die automatische Umschaltung der Bildwiederholfrequenz auch mit einem Skript und dem 12noon Programm realisieren lassen?

Das Plugin und 12noon bekomm ich nicht ans Laufen und vom Plugin-Entwickler hört man leider nichts bezüglich der Weiterentwicklung. :(

Link to comment

Hallo nuts,

 

wie schon erwähnt hab ich das schon probiert. Leider ohne Erfolg!

12noon an sich funktioniert, nur die Zusammenarbeit mit dem Plugin klappt nicht. Mit kommt es so vor als ob das Plugin

Probleme mit dem Auslesen der Bildwiederholrate des Videos hat und deswegen nicht umschaltet. Das ist allerdings ziemlich geraten! ;)

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...