e-schrott Posted January 7, 2006 Share Posted January 7, 2006 Hallo, ich verwende den Nvida Videodecoder. Leider hat der Decoder bei Fernsehfilmen oft das Problem, dass er das Videoformat falsch erkennt (Film oder Video-Modus). Oft wechselt er dauern währen der Wiedergabe, was kleine Ruckler zur Folge hat, das Problem ist behoben, wenn man das Videoformat manuell umschaltet (nicht Smart oder Auto verwendet) Zum Glück gibt es die Möglichkeit über COM auf den Decoder zuzugreifen, so kann man z.B. das aktuell erkannte Videoformat auf dem Barebone Display anzeigen lassen und gegebenenfalls über OSD-Menü umschalten. Ausserdem kann man sich so das aktuelle Tonformat ermitteln und auf dem Display ausgeben (die Audiomode Methode des DVB-Viewers funktioniert leider nicht richtig) Zusätzlich habe ich noch mini-Skripte geschrieben, mit welchen die Dynamik bei DD (Norma, Nacht, Theater) umgeschaltet werden kann. Auszug aus dem Code: Dim Nvidia, DeinterlaceMode, AudioMode, AnzKanaele SET Nvidia = CreateObject("NvDecCtrl.NvDecControl") DeinterlaceMode = Nvidia.GetVideoStat(11) 'Rückgabert : Aktueller Deinterlacer Modus 0=Video, 1 = Film AnzKanaele = Nvidia.GetAudioStat(3) ' Rückgabert : Anzahl Audiokanäle z.B. 6 bei DD5.1 AudioMode = Nvidia.GetAudioStat(0) ' Rückgabert 3=DTS, 2=MPEG, 0=DD Im Anhang habe ich die Scripte zum Umschalten des Deinterlacers, bzw. der Dynamik angefügt (werden übers OSD-Menü aufgerufen) Gruß nvidia_vbs.zip Quote Link to comment
daffy Posted January 7, 2006 Share Posted January 7, 2006 Leider hat der Decoder bei Fernsehfilmen oft das Problem, dass er das Videoformat falsch erkennt (Film oder Video-Modus). Ehrlich gesagt habe ich das noch nie gesehen - wo tritt das denn auf? Ich frage auch nur deshalb, weil ich mich frage, ob ich mir die Skripte installieren soll :-) Wäre es außerdem nicht sinnvoller, die Skripte wie folgt zu schreiben: ************************* Option Explicit Dim NvidiaDecoderControl On Error Resume Next Set NvidiaDecoderControl = GetObject("NvDecCtrl.NvDecControl") if NvidiaDecoderControl <> Nothing Then NvidiaDecoderControl.SetDeInterlaceCtrl(0) End If ************************* Sprich: Keine Kaskadierung von Problemen, sollten sie denn auftreten - gleichzeitig Zugriff auf die aktuelle Instanz des Decoder-Controllers (ich vermute einmal, daß der schon im Prozeßraum läuft und nicht per CreateObject nochmals erzeugt werden muß) Buyer beware - komplett und ungetestet - und VBS ist nun wirklich nicht meine Stärke. Quote Link to comment
e-schrott Posted January 7, 2006 Author Share Posted January 7, 2006 Leider hat der Decoder bei Fernsehfilmen oft das Problem, dass er das Videoformat falsch erkennt (Film oder Video-Modus). Ehrlich gesagt habe ich das noch nie gesehen - wo tritt das denn auf? Ich frage auch nur deshalb, weil ich mich frage, ob ich mir die Skripte installieren soll :-) Wäre es außerdem nicht sinnvoller, die Skripte wie folgt zu schreiben: ************************* Option Explicit Dim NvidiaDecoderControl On Error Resume Next Set NvidiaDecoderControl = GetObject("NvDecCtrl.NvDecControl") if NvidiaDecoderControl <> Nothing Then NvidiaDecoderControl.SetDeInterlaceCtrl(0) End If ************************* Sprich: Keine Kaskadierung von Problemen, sollten sie denn auftreten - gleichzeitig Zugriff auf die aktuelle Instanz des Decoder-Controllers (ich vermute einmal, daß der schon im Prozeßraum läuft und nicht per CreateObject nochmals erzeugt werden muß) Buyer beware - komplett und ungetestet - und VBS ist nun wirklich nicht meine Stärke. <{POST_SNAPBACK}> Das Ruckeln habe ich vor allem auf der Leinwand bemerkt, ist da aber ziehmlich nervig, wenn man dann das Video-Filter Fenster öffnet sieht man, dass der Decoder dauernd zw. Film und Video-Modus umschaltet, vielleicht ist das auch ein Problem der einfachen Grafikkarte die ich habe (nvidia 5200) GetObject hat nicht funktioniert, es ist also noch keine Instanz offen. Gruß Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.