Jump to content

Renderless Plugin


Recommended Posts

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

Link to comment

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.

Link to comment
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?

Link to comment
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

Link to comment

Ok, jetzt wird's klarer.

 

Was macht denn die VMR9 Einstellung vom DVBViewer? Verwendet die nicht den Renderless-Mode? (Windowed-Mode?)

Edited by dgdg
Link to comment

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.

Link to comment

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.

Link to comment

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

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...