Jump to content

Quick & Dirty EVR Plugin DVBViever Pro


ThomasL

Recommended Posts

Quick & dirty EVR test plugin für DVBViewer Pro

Ich habe mir am Wochenende ein Plugin programmiert

mit dem einmalig der graph in DVBViewer Pro auf EVR umgebogen wird

 

 

1. Datei in pluginordner kopieren

2. OSD im DVBviever deaktivieren

3. Videocodec auf Cyberlink einstellen

4. Renderer auf VMR7 einstellen

5. Sender einstellen

6. Im Pluginmenü Aktiv anklicken

7. Graph neu aufbauen (VMR7 wird durch EVR ersetzt, OSD wird gelöscht)

8. Im Pluginmenü Aktiv anklicken (Bild wird auf Fullscreen gesetzt)

9. umschalten ist noch mölich solagen der graph nicht neu aufgebaut wird

10.DVBViewer kann nur noch mit dem Taskmanager beendet werden

 

 

Programmiert mit Delphi7

aus plugin MenüDemo

 

EVR9.pas interface unit

http://www.DVBViewer.info/forum/index.php?showtopic=19468

 

Demo for Enhanced Video Renderer von Sebastian Zierer

http://www.progdigy.com/modules.php?name=F...&highlight=

 

CodeGear Delphi Runtime Library

 

Source auf Anfrage

 

alles auf eigene gefahr

kein support

nur zum testen

ich hatte bis vor 3 tagen keine Zeile DirectShow programmiert

Link to comment
also 9 und 10 solltest du noch verbessern...

ich bezweifle dass das geht. da wird so tief eingegriffen mit nebenwirkungen, die nicht absehbar sind. Jeder der das einsetzt sollte sich klar sein, das alle geänderten daten beim harten beenden verloren gehen.

 

Aber wer imer gerne sich von MS auf längere sicht vorschreiben lassen will, was er wie zu sehen kriegt(stickwort secure path), soll sich gerne am evr festklammern. Leider scheint technik geilheit den gesunden menschenverstand ja zu überwiegen... Schlaue leute bleiben bei XP...

Link to comment

Punkt 10 lässt sich umgehen wenn zb von HD auf einen anderen HD Sender umgeschaltet wird.

Dann beenden oder weiter mit 8.

 

 

welche procedure im Plugin wird denn beim beenden aufgerufen???

Link to comment

case Reason of

0 : begin //detach

if Assigned(FDisplayControl) then

FDisplayControl.SetFullscreen(false);

end;

 

behebt schon mal ein problem

 

 

PS ist nicht oben enthalten

Edited by ThomasL
Link to comment

Ich habe das bild in ein Form gepackt.

Das fenster wird beim beenden komischer weise nur geschlossen wenn es auf dem gleichen bildschirm ist.

Im detach wird zur kontrolle ein dialogfenster angezeigt(DLL beenden)

Fullscrenn geht mit doppelclick ins Form.

Es ging nur unter Vista.

 

Dank VCL ca 300kb grösser

Link to comment

Noch ein paar Bugs weniger

 

1.Programme können umgeschaltet werden (auch HD zu SD).

aber nicht im Vollbildmodus

2.Alles wird richtig beendet

3.Wenn Active ausgeschaltet wird und dann rebuild Graph ist alles wie vorher.

4.Als Decoder muss Cyberlink oder Arcsoft eingestellt sein

5.OSD muss ausgeschaltet sein

6.Active wird nicht gespeichert

7.Bei XP gibt es probleme mit EVR

Link to comment

Vielen Dank,

funktioniert perfekt unter Vista. Endlich eine Lösung des Problems, kann ich nur jedem empfehlen, der unter Vista Ruckel-Probleme mit HDTV-Sendern hat.

Wünsche noch ein schönes Wochenende.

Link to comment
Vielen Dank,

funktioniert perfekt unter Vista. Endlich eine Lösung des Problems, kann ich nur jedem empfehlen, der unter Vista Ruckel-Probleme mit HDTV-Sendern hat.

Wünsche noch ein schönes Wochenende.

 

Kann mich dem nur anschliessen!!!!!

 

Es läuft super! HD + Vista + ati2600xt = endlich ruckelfrei

 

DANKE für das Plugin :(:(:)

Link to comment

Neue Version

 

Active & Fensterposition wird gespeichert.

einige Codecs hinzugefügt.

 

PS.

Der Vollbildmodus hat eine bessere Perfomance als der Fenstermodus.

Link to comment

Beim Starten wird wohl ein zufallgraph verwendet.

mit zufallrenderer/filter

wenn 'Color Space Converter' oder 'Overlay Mixer' gefunden wird ,werden sie auch entfernt.

 

Wenn noch andere filter unbenutzt im Graph stehen bleiben mit Graphedit überprüfen und hier melden

Link to comment

was heißt evr? das bringt in kombination aber auch nur was, wenn man eine neuere graka à la "ati 2600xt" oder "geforce 8800gt(s)" hat oder?

Edited by darky
Link to comment

Abkürzung für 'Enhanced Video Renderer'

Die Namen der Graphen sind beim einfügen frei wählbar

 

   ...   
  CoCreateInstance(CLSID_EnhancedVideoRenderer, nil, CLSCTX_INPROC, IID_IBaseFilter, FEVR)
  ...   
  grp.AddFilter(FEVR, StringToOLESTR('EVR'));
  (FEVR as IMFGetService).GetService(MR_VIDEO_RENDER_SERVICE, IID_IMFVideoDisplayControl, FDisplayControl);

 

 

@darky

ich habe noch eine 1950pro die ging auch

Edited by ThomasL
Link to comment

Komisch, bei mir klappt das irgendwie nicht. Nach dem aktiv setzen und Graphrebuild (schritt 7) geht zwar ein neues schwarzes Fenster auf, aber das Video laeuft in DVBViewer weiter und die CPU Belastung bleibt genau gleich (und auch das ruckeln). Im "Filters" Kontextmenue steht EVR und VMR7.

Ich habe:

DVBViewer 3.9

Vista64

ATI Radeon HD 2600 XT

PowerDVD 7.3

 

Kannst du mir helfen?

Edited by streetcore
Link to comment

@streetcore

 

Schritte 4,5,8,9,10 sind in der aktuellen version nicht mehr nötig

 

Mache mal einen Screenshot vom Graph (graphedit.exe)

Sollte so aussehen

Edited by ThomasL
Link to comment

Ich glaube ich habe Probleme weil ich Vista64 habe. Ich habe mir mal Graphedit x86 und x64 heruntegeladen aber in beiden ist die auswahlliste leer wenn ich "Connect to remote graph..." aufrufe.

In deinem Screenshot sehe ich dass der Filter bei dir "EVR" heisst. Bei mir steht auf der Box aber "Enhanced Video Renderer" wenn ich den Filter in nen neuen graph einfuege. Vielleicht matcht der String nicht?

Hast du Vista32? Vielleicht heisst das Teil da dummerweise anders? Ausserdem habe ich Vista SP1 Beta (halb legal *g*) installiert. Vielleicht wurde es da umbenannt?! Das koennte doch der Grund sein oder?

Link to comment

Ich habe Vista64 bit und Graphedit dx10.0 build061030

mit den alten graphedit geht es nicht

 

Einen Bug hatte ich mir selber eingebaut (umschalten Fenster wurde gelöscht)

Link to comment

Danke Tjod, connect funktioniert jetzt!!

 

Mein Graphedit build ist neuer als deiner, sollte also gehen.

Ich habe mir den remote Graphen mal anzeigen lassen und stelle fest, dass der Graph durch das plugin nicht veraendert wird. es wird lediglich eine Box namens "EVR" eingefuegt, die aber am Eingangspin keine verbindung zu einer anderen Box hat. Und wie schon gesagt, in der Filterliste selbst finde ich nirgends den filter mit name "EVR", nur "Enhanced Video Renderer". kann es daran liegen?

Link to comment

Wie du weiter oben lesen kannst ist der name vom filter beim einfügen frei wählbar

 

Welchen Videodecoder benutzt du??

Screenshot oder Name vom Videodecoder und ausgangspin(gross/kleinschreibung beachten)

Link to comment

Die einfachste möglichkeit war den Filter am Namen zu finden

 

 

...
//vorhandene Filter finden
						   HResult := grp.FindFilterByName(StringToOLESTR('VMR 7 Renderer'	  ),FVMR);  //0 = OK
if HResult <> 0 then HResult := grp.FindFilterByName(StringToOLESTR('VMR 9 Renderer'	  ),FVMR);
if HResult <> 0 then HResult := grp.FindFilterByName(StringToOLESTR('Video Renderer'	  ),FVMR);
if HResult <> 0 then HResult := grp.FindFilterByName(StringToOLESTR('Haali Video Renderer'),FVMR);
if HResult <> 0 then exit;

						   HResult := grp.FindFilterByName(StringToOLESTR('CyberLink Video/SP Decoder (PDVD7)'),FCyberlink);
if HResult <> 0 then HResult := grp.FindFilterByName(StringToOLESTR('CyberLink Video/SP Decoder (PDVD7.x))'),FCyberlink);
if HResult <> 0 then HResult := grp.FindFilterByName(StringToOLESTR('CyberLink H.264/AVC Decoder (PDVD7)'),FCyberlink);
if HResult <> 0 then HResult := grp.FindFilterByName(StringToOLESTR('CyberLink H.264/AVC Decoder (PDVD7.x)'),FCyberlink);
if HResult <> 0 then HResult := grp.FindFilterByName(StringToOLESTR('CoreAVC Video Decoder'),FCyberlink);
if HResult <> 0 then HResult := grp.FindFilterByName(StringToOLESTR('MainConcept AVC/H.264 Video Decoder'),FCyberlink);
if HResult <> 0 then HResult := grp.FindFilterByName(StringToOLESTR('ArcSoft Video Decoder'),FCyberlink);
if HResult <> 0 then exit;
...

Link to comment

Hallo, habe heute mal wieder gegen den Grundsatz "don`t change a running system" verstossen und die neueste EVRTest runtergeladen und die Alte von bis gestern vormittag ersetzt. Jetzt geht zwar immer noch das EVR-Fenster auf, aber viel kleiner und es erscheint kein Bild, weder dort noch im Hauptprogramm. Hat jemand noch die alte EVR-Test von gestern vormittag? Wäre sehr dankbar!

Link to comment

Hallo, wenn ich das Plugin deaktiviere und dann auf Wiedergabe neu aufbauen gehe, ist wieder alles beim alten, d.h. ein Bild ist zwar vorhanden, jedoch ohne EVR und damit Hardwareunterstützung. Wenn active aus also alles wie ohne plugin. Es erscheint bei aktivierung und Wiedergabe neu aufgebaut ein ca. 5cmx1cm großer Button, der EVR benannt ist, allerdings kein Bild anzeigt.

Link to comment

Okay, habe mich heute mal wieder zu blöd angestellt, bin gar nicht darauf gekommen, das Fenster größer zu ziehen.

Da erschien natürlich auch ein Bild, welches man dann auch in den Vollbild-Modus schalten konnte.

Problem also gelöst, vielen Dank und hab Nachsicht :)

Link to comment

Ist bestimmt das gleiche Problem das ich auch hatte. Vielleicht hast du gestern seinen Video decoder String ueberschrieben?

 

Ich habe auch noch ein Problem; bei doppelklick auf das sich öffnende Fenster wird das Fenster zwar fullscreen angezeigt, allerdings ohne Bild und Vista Aero Glass wird abgeschaltet. Ton läuft weiter. Graphedit findet keinen Graph mehr zum connecten.

Wenn ich das Fenster durch doppelklick dann wieder klein machen will stuerzt DVBViewer ab. Hast Du das Problem auch?

Seither muss ich die Form von Hand aufziehen...

 

Das Umschalten auf andere Sender klappt auch nicht immer und DVBViewer stürtzt oft ab

 

Ansonsten klappt alles! :)

Edited by streetcore
Link to comment
Ich habe auch noch ein Problem; bei doppelklick auf das sich öffnende Fenster wird das Fenster zwar fullscreen angezeigt, allerdings ohne Bild und Vista Aero Glass wird abgeschaltet. Wenn ich dass Fenster durch doppelklick dann wieder klein machen will stuerzt DVBViewer ab. Hast Du das Problem auch?

Seither muss ich die Form von Hand aufziehen...

 

Das Umschalten auf andere Sender klappt auch nicht immer und DVBViewer stürtzt oft ab

 

Ansonsten klappt alles! :)

 

bei fullscreen schaltet windows Aero automatisch ab

bei doppelklick wird das fenster wird auf Maximized gesetzt und dann fullscreen eingeschaltet

hast du 1 oder 2 monitore

 

bei fullscreen kann nicht umgeschaltet werden(auch wenn das bild nicht sichtbar ist)

wenn der graph von DVBViewer gelöscht wird kann nicht zurück zum fenster gewechselt werden

Link to comment

Zwei Monitore habe ich nicht, aber primär benutze ich den S-Video Ausgang auf meinem alten TV und die DVI Ports sind frei.

(Ich weiss mir bring HDTV auf der alten Röhre nichts, aber demnächst kommt ein LCD her *g*)

Kann es daran liegen?

Link to comment

It's a quick+dirty plugin for DVBViewer Pro to be able to use EVR Renderer in Vista, just for testing!

 

Download from here and put it in your plugins directory. OSD has to be switched off in DVBV options, and VMR7 and Cyberlink codec have to be used. After that, activate the plugin in the plugin menue. Then rebuild the graph, and a new window called "EVR" should appear (here it's a very small one in the upper left corner). Get it bigger and you should see the tv picture in the EVR window instead of the DVBV mainwindow.

 

Btw: Switching channels is not stable (at least in fullscreen mode).

Edited by alfonxs
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
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...