gcschlecht Posted July 9, 2008 Share Posted July 9, 2008 Ahoi Ahoi, da mir das OSD vom DVBViewer nicht sooo super gefällt, habe ich mich mal daran gemacht ein eigenes zu entwickeln. Nach mehreren Problemen ist dabei ist ein Renderer für den VMR9 Renderless-Mode herausgekommen. Funktionsweise: Bei Aufbau eines Graphen wird ein Vollbild Direct3D9 Fenster erstellt und der Graph so manipuliert, das jedes Frame mittels VMR9 Renderless in eine Textur geschrieben wird. Diese wird dann im neuen Fenster dargestellt. Installation: Einfach die .dll in den Plugins Ordner kopieren, DVBViewer starten und den Renderer auf VMR9 stellen. Nach dem Neuaufbau des Graphen sollte im Vollbild das Video gerendert werden. Mit Alt+F4 kann das Fenster geschlossen werden. Probleme: Dieser Release ist extremst buggy, daher passiert es an meinen Rechnern in c.a. 40% der Fälle das der DVBViewer garnicht richtig startet oder einfach abstürzt. In dem Fall einfach nochmal Probieren bis es klappt. Weiterhin kann ich nicht garantieren das es bei anderen PC's als meinen(X700 Mobility, HD 2600 Pro) überhaupt funktioniert. Kommendes: Logging, Erhöhung der Stabilität, Post-Processing mittels HLSL Shadern, Irgendwelche coolen Fading Effekte beim Umschalten. MfG dvbv_osd.zip Quote Link to comment
gcschlecht Posted July 9, 2008 Author Share Posted July 9, 2008 EDIT: Da das Plugin komplett unabhängig vom DVBViewer rendert gibt es natürlich kein OSD mehr. Daher wird der auch der OSD-Source Filter aus dem Graph gelöscht. Es muss also im Moment im Blindflug gezappt werden. Nochwas: Das Plugin wurde in C++ mit VS 2008 programmiert. Falls jemand Interesse hat mit an der Weiterentwicklung zu arbeiten, einfach melden, dann räume ich den Code mal auf und poste ihn hier. Quote Link to comment
dgdg Posted July 9, 2008 Share Posted July 9, 2008 da mir das OSD vom DVBViewer nicht sooo super gefällt, habe ich mich mal daran gemacht ein eigenes zu entwickeln.Nach mehreren Problemen ist dabei ist ein Renderer für den VMR9 Renderless-Mode herausgekommen. Kannst Du mal kurz erklären, was der Renderless-Mode ist und welchen Nutzen das Plugin hat? Was kann man damit tun? Quote Link to comment
gcschlecht Posted July 9, 2008 Author Share Posted July 9, 2008 Kannst Du mal kurz erklären, was der Renderless-Mode ist und welchen Nutzen das Plugin hat? Was kann man damit tun? Der Renderless Mode ist ein Modus des VMR9 in dem DirectShow nichts anderes tut als das zu rendernde Video in eine Textur zu schreiben und ggf. zu deinterlacen. Mediaportal und MCE stellen z.B. so ihr Bild da. Der Renderless Mode hat einige Vorteile: Der "NVIDIA-VMR-Bug" tritt nicht mehr auf. Das Bild ist absolut ruckelfrei (Jedenfalls in meinem Fall). Man kann ein OSD programmieren was alle Direct3D9 Features enthält. Darum hab ich das Plugin ja eigentlich auch geschrieben. Man kann Pixel Shader fürs Postprocessing nutzen. Auch bei HDTV. Das ist alles was mir grad einfällt. P.S.: Zum jetzigen Zeitpunkt bringt es eigentlich nur den Leuten was bei denen die anderen Renderer Probleme machen (VMR-Bug, Mikroruckler, Kein Multi-Monitor, u.s.w.,) MfG Quote Link to comment
dgdg Posted July 9, 2008 Share Posted July 9, 2008 (edited) Ok, jetzt wird's klarer. Was macht denn die VMR9 Einstellung vom DVBViewer? Verwendet die nicht den Renderless-Mode? (Windowed-Mode?) Edited July 9, 2008 by dgdg Quote Link to comment
gcschlecht Posted July 9, 2008 Author Share Posted July 9, 2008 Der DVBViewer verwendet den leider Windowless Mode d.h. der VMR9 Renderer kümmert sich um das komplette Rendering und Mixing. Und der ist ja leider ziemlich verbuggt. Quote Link to comment
CiNcH Posted July 10, 2008 Share Posted July 10, 2008 Hmmm, muss ich mir mal anschauen. Die DVBViewer Entwickler haben sich ja auch schon damit beschäftigt und die diversen OEM-Player haben das ja auch bereits: z.B. TT-Viewer Ein TechPreview gabs hier Ob das über ein Plugin so toll ist, kann ich im Moment nicht wirklich beurteilen, bzw. welche wichtigen Features über OSD über Plugin realisierbar wären und welche nicht. Schade, dass es im DVBViewer in dieser Richtung momentan nicht weitergeht. Über die Mikrorucklergeschichte bin ich mir noch nicht im klaren. Es funktioniert mit VMR9 Renderless zwar in der Tat besser aber dafür habe ich auf diversen Kanälen Audiohickser drin. Ich denke dass sich die Sychronisation dann halt darin manifestiert und nicht mehr in Mikrorucklern. Quote Link to comment
Warp10 Posted July 10, 2008 Share Posted July 10, 2008 Hallo, kann es sein, dass bei der Verwendung von VMR9 windowless die Ausgabe nicht über D3D erfolgt? Das würde endlich mal erklären, warum ich mit VMR9 "tearing" sehe, obwohl ich im ATI Catalyst Control Centre die Option "D3D->VSync->Always on" aktiviert habe... cheers, Thorsten 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.