Jump to content

ffdshow als post processor


Recommended Posts

Hi,

 

hoffe ihr könnt mir helfen, bin schon am verzweifeln da ich bei meinem HTPC auf ein Problem nach dem anderen stoße.

 

Zur Zeit ist es De-Interlacing. ATI Treiber mit x1600 karte sind zur Zeit (seit dem die Karte raus ist) nur Müll!!! :bye:

 

Hässliche Schmierer in Dunklen Stellen und Schatten die im Bild bleiben und nicht verschwinden wollen, Egal ob mit Cyberlink (PowerDVD 7) oder Nvidia Mpeg2 (PureVideo Trial) Decodern.

 

Nun dachte ich mir, ich könnte doch De-Interlacing im Cyberlink deaktivieren (Force Wave) und per ffdshow De-Interlacing machen.

 

Habe ffdshow installiert, De-Interlacing aktiviert und in den Codecs Raw Video auf "all supported" und in den DVBViewer Pro (Version 3.5) Optionen als Post-Processor fddshow ausgewählt.

 

Tja, soweit so gut, nur es läuft nicht, fddshow greift einfach nicht. Wenn ich mit grapheditor an den Graphen zugreife habe ich keinen fddshow raw filter drinnen. Habe auch versucht einen Graphen manuell zu erstellen.. nada.. cyberlink und ffdshow können nicht verbunden werden. Das selbe Spiel mit Nvidia decoder.

 

Was mach ich Falsch??

Link to comment

ok, habs doch noch geschafft! :bye:

 

Im Graphedit nochmal rechtsklick auf den ffdshow rawfilter und was seh ich da? Nochmal den Raw Video Filter aber diesmal auf disabled (obwohl ich die option über die ffdshow hauptsteuerung aktiviert habe?!).

Also, auf "all supportet" gestellt und mit Manuellen Graphs funktioniert das De-Interlacing nun :)

 

Hat vielleicht noch jemand Tipps für ffdshow, um zb die Bildqualität nocht etwas zu verbessern? Oder welcher Build am besten für nen AMD64 ist?

 

Danke,

Henker

Link to comment

Ich nutze einfach die neuste version von www.free-codecs.com. Für AMD kannste die SSE2 Version nutzen.

 

Ich resize mein Bild dann per Bicubic (+1.0 Luma sharpen) auf 1280x720 (für meinen Beamer), alternativ kann man auch 2x org. Auflösung nehmen und Lanczos3 nutzen, bei nicht 1:1 scaling hat der Lanczos aber nen kleinen Bug im Scaler. Als VMR am bessten VMR9 nehmen. Ich habe dann noch postprocessing an gegen das Blocking aber sollte man nicht zu stark einstellen, noise filter ist Geschmackssache und kommt oft schon mit dem Bild um das Blocking abzuschwächen.

 

Für die kaputten 16:9 Sendungen die als 4:3 ankommen gibts den Crop filter. Naja und deinterlace is ja klar (linear blending oder ffmpeg)

Link to comment

Danke für die Infos, werd mir dort mal den aktuellsten sse2 build ziehen.

 

Eine Frage noch:

Hast du bei ffdshow einfach RAW Video auf "all supported" gestellt und es lief? oder musst du genauso einen manuelln Graph erstellen?

 

Habs probehalber mal bei meinem PC in der Arbeit installiert und da gehts kommischerweise auf Anhieb, also "all supported" und ffdshow läuft jetzt mit jedem Video egal welches Program ich zum Abspielen verwende.

Bei meinem HTPc geht das nicht. Nur mit Graphselctor Plugin.

 

Kann das eventuell daran liegen dass ich am HTPc XP x64 laufen habe?

Link to comment

Einfach auf Raw das reicht, das Problem ist das ffdshow "Raw" nicht mit jedem mpeg2 decoder connected. Die nVidia, Elecard connecten wegen dem Deinterlace Mode nicht, Cyberlink ging.

Muss mal versuchen was passiert wenn man den nVidia decoder von vmr deinterlace auf nen anderen mode umstellt. Da elecard und nvidia direct zum VMR connected wollen und ein BOB/weave Interlace mode ausgeben mit dem ffdshow RAW nix anfangen kann.

 

Alternativ einfach den mpeg2 decoder von ffdshow (aka libav aka libmpeg) nutzen, dazu kein postprocessor Einstellen aber mpeg2 decoder auf auto und in ffdshow merit auf maximum. Dann nutzt dvbview auch ffdshow zum mpeg2 decoden und man kann direct die filter nutzen.

 

Ich bin noch am rumtüfteln wie ich nvidia mpeg2 decoder + ffdshow sauber zum laufen bekomme, dazu müsste man dvbsource->nvidia decoder-> nvidia postprocessor -> ffdshow raw builden. Geht dann auch nur über nen eigenen graph, dabei stört jedoch das man auch für den "möglichen" AC3 sound einen ac3 decoder und einen zweiten direct sound render angeben muss.

 

Wenn ich nen guten graph gefunden habe kanni den ja hier posten.

 

Muss auch noch ffdshow an girder binden so das ich per Fernbedienung das ffdshow profil wechseln kann wenn die falschen 16:9 Sendungen kommen und das Bild per "crop" filter auf die echte Grösse geschnitten wird, was vor dem resize passieren soll :)

 

Zu XP64 soweit wie ich weis müssen alle Filter im graph entweder 32bit oder 64bit sein mixed graph können nicht aufgebaut werden. Da ich aber auch noch keine 64bit versionen der decoder/filter gesehen habe sollten die alle 32bit sein und dvbview ist ja auch 32bit.

Edited by Andy2222
Link to comment

Hallo,

 

die neuesten ffdshow-builds gibt's von videomixer9. Er schreibt aber hier (13.07.06), daß die sse-Versionen nix bringen, und daß er sie deshalb selbst nicht benutzt.

 

Gruß

 

akapuma

 

Edit: bei videomixer9's Version steht unter "applied patches:" "high accuracy libmad mp3 decoder". Dieser ist auch zum Decodieren von MP2 geeignet und daher auch ein idealer DVB-Audiodecoder.

Edited by akapuma
Link to comment

So, ffdshow funkt jetzt bei allerdings nur mit manuellen Graphen und Cyberlink.

 

Habe jetzt jedoch ein anderes Problem..

Beim Kanalwechsel verliert das DVBViewer Fenster jedes mal den Focus und reagiert auf keine Tastaturkommandos mehr, auch im Fullscreen Modus. Nur Mausklich hilft, um das Fenster wieder zu "aktivieren".

 

Hab schon 2 Tage lang versucht das Problem zu lösen und komme einfach nicht weiter.

 

Hat jemand ne Idee?

Link to comment
wie wechselst Du denn den Kanal?

 

Mit den Pfeil Tasten am Keyboard oder über das OSD es ist egal wie, hab das auch schon "gelöst". Dieses Problem tritt nur bei Overlay und VMR auf, bei Unchanged nicht.

 

Es hat anscheinend mit ffdshow zu tun, da der filter bei jedem Kanalwechsel neu geladen wird und so DVBViewer in den "Hintergrund" kommt. Warum es aber nur bei Overlay und VMR zu dem Problem komm und bei Unchanged nicht, ist mir ein Rätsel.

Link to comment

Ich gebs auf...

 

Hab mir jetzt nen manuellen Graphen mit Video Renderer "Unchanged" gebaut, Kanalwechsel problem ist weg dafür ist das Bild blau!!!! ;)

 

Wenn ich mit Graphselect auf None wechsle und dann wieder zurück zu meinen erstellten Graphen is das Bild ok, aber sobald man rebootet ises wieder Blau?

Link to comment

Hab eine neuere ffdshow Version Installiert, bild ist nicht mehr Blau. dafür das Kanalwechsel Problem wieder da ;)

 

Es hat anscheinen mit dem Graph rebuild zu tun, wenn ich schnellen Kanalswechsel aktiviere ist das Problem weg, da der Graph nicht jedes mal neu aufgebaut wird. Is aber auch keine Lösung da es beim schnellen Kanalwechsel zu Problemen mit ffdshow kommt (Bild format wird nicht erkannt und mit aktivierter Corp funktion verabschiedet DVBViewer sich wenn der Kanal eine niedrigere Auflösung als der Vorherige hat).

Link to comment

Hast du Optionen -> DirectX -> Videoformat automatisch erkennen aktiviert?

 

Mit dieser Option analysiert der DVBViewer bei einem Senderwechsel vor dem Wiedergabestart das Format. Falls sich z.B. die Auflösung gegenüber der vorherigen geändert hat, trennt der DVBViewer alle Videofilter und verbindet sie neu, beginnend beim DVBViewer Filter, jedoch ohne sie erneut zu laden.

 

Bem Verbinden wird von Filter zu Filter die korrekte (neue) Auflösung weitergemeldet. Manche Filter - so wohl auch ffdshow - verlassen sich ganz oder teilweise auf das so genannte Verbindungsformat und geraten deshalb bei einem Wechsel "on the fly" in Schwierigkeiten.

Link to comment

Videoformat automatisch erkennen funktioniert solange ich den crop filter nicht aktiviere. Wenn der an ist verabschieded DVBViewer sobald sich die Auflösung ändert.

 

Ist Fast Channel Change deaktivert funktioniert es, nur dass dann das Viewer Fenster wieder inaktiv wird.

Wenn ich auf einen AC3 Kanal wechsle wird es auch inaktiv obwohl ich Audioformat automatisch erkennen aktiviert habe.

Link to comment

Jaja, die Opysee geht weiter :)

 

Da mit den Optionen "Fast Channel Change" und "Videoformat automatisch erkennen" die Corp Funktion bei ffdshow Probleme bei unterschiedlichen Auflösungen macht dachte ich mir ich mach das Crop mit Avisynth.

 

Gesagt, getan. Es funktionert sogar! Wollte schon einen Freudentanz aufführen....

Nur gibts jetzt die nächsten Troubles... bei ca. jedem 2ten Kanalwechsel überschneidet sich das Bild des alten mit dem des neuen Kanals. Heftiges Bildflimmern, da er anscheinen je einen Frame des Alten und einen des Neuen anzeigt.

 

Wie geht das? hat Avisynth das im Cache oder wie kann es 2 Streams gleichzeitg aufmachen? Jedenfalls beruhigt es sich nach 5-10 Sekunden wieder, bis zum nächsten oder übernächsten Kanalwechsel.

 

Ist Fast Channel Change deaktivert ist es wieder das alte Spiel, keine Probleme mit dem Bild nur der Viewer wird wieder inaktiv.

 

Hat denn keiner ffdshow als Video Filter im Einsatz? Und wenn ja, welche Version, Datum, MPEG2 Codes, usw..?

Link to comment

Nachdem ich mich schon geraume Zeit mit DVBViewer in Kombination mit ffdshow beschäftigt habe, erlaube ich mir mal, mich hier einzubringen.

 

Was ich erreichen wollte, war folgendes:

 

- 50 fps mit Hardware Deinterlacing für "normales" TV

- 25 fps progressive Wiedergabe mit gutem Resizing für Filmmaterial

 

Das Ganze ruckelfrei. Kein leichtes Unterfangen.

 

Zuerst habe ich ffdshow als MPEG2 Video Decoder verwendet, das hat aber z. B. bei der Wiedergabe von Aufnahmen beim Vor- oder Rückwärtsspringen jedes 2. Mal nicht geklappt (kein Bild, Ton lief aber weiter). Der Schlüssel zum Erfolg war dann DScaler5 als MPEG2 Decoder.

 

Meine Lösung sieht jetzt so aus, dass ich mit 2 Graphen arbeite.

 

Einer heißt dscaler-interlaced und sieht so aus:

 

DVBSource -> DScaler5 mit Deinterlacing auf Bob -> Video Renderer: Gibt 50 fps mit Deinterlacing der Grafikkarte

 

Der andere heißt dscaler-progressiv:

 

DVBSource -> DScaler5 mit Deinterlacing auf Weave -> ffdshow (Raw) mit Resizing -> Video Renderer: Gibt 25 fps mit Resizing

 

Mit dem GraphSelector Plugin schalte ich je nach Bedarf um. Beim progressiven Graphen habe ich außerdem Reclock als Audio Renderer, damit ist das sporadische Stottern wegen der VSync-Problematik weg. Die Grafikkarte arbeitet natürlich mit 50 Hz zum LCD TV.

 

Das Software-Deinterlacing von ffdshow ist für meinen Geschmack wenig brauchbar, da nur 25 fps ausgegeben werden, außer bei "Double Framerate", aber das sieht grausam aus. Dass das Hardware Deinterlacing bei ATI nicht funktioniert, kann ich eigentlich nicht nachvollziehen, in meinem Arbeits-PC habe ich eine billige X1300 und das sieht sogar etwas besser aus (weniger flimmern) als bei der Nvidia im HTPC.

 

Ist sicher keine Universallösung, aber vielleicht hilfts ja.

Link to comment

Hi,

 

das mit dem ATI Deinterlacer is so ne Sache da ab der x1600 zusätzliche NR Filter aktivert werden die man nicht ausschalten kann. Diese NR Filter machen Schmierer und Schatten in das Bild rein (besonders in dunklen Stellen). Hab darüber schon einiges gelesen, tritt anscheinen nur bei PAL Videos auf (50hz) bei NTSC soll keine Probleme damit geben. Ati hat es per Mail auch zugegeben, die Techniker konnten es reproduzieren, bis Dato gibts aber keine offiziellen Case auf der ATI Homepage.

 

Beim Thema ffdshow bin ich auch schon weiter:

 

Das "Kanalwechsel Problem" bei ausgeschaltenem "Fast Channel Change" wobei das DVBViewer Fenster inaktiv wird, tritt bei mir nur bei Builds von Videomixer9 auf.

Hab mit gerade Builds von Kurosu (http://kurosu.free.fr/ffdshow.htm) runter geladen und hier gibts keine Probleme beim Kanalwechsel!!!! :)

Man sollte nur nicht die aktuellste vom 25.7. nehmen, da dieser nicht mir Cyberlink connecten kann.

 

Der Hauptgrund warum ich unbedingt ffdshow verwenden möchte is die Möglichkeit des Autoloads von unterschiedlichen Profilen. Also wenn das Bild 4:3 ist ladet er autmatisch das dazugehörige Profil.

Somit erspare ich mir die Rumdrückerei auf der Fernbedienung.

Als Deinterlacer kann ich bei ffdshow den Kernel Deinterlacer empfehlen. Da er das Bild nicht unscharf macht und nicht alzuviel CPU Zeit in Anspruch nimmt.

Edited by henker31
Link to comment

So, habe das Kanalwechsel nun lokalisert, falls jemand mal die selben Probleme hat:

 

ffdshow SVN Revision 2543

Keine Kanalwechselprobleme, alle Filter sehr stabil.

 

ffdshow SVN Revision 2546

Kanalwechselprobleme, manche Filter führen zum Absturz des DVBViewers wenn sie aktivert werden.

Hat womöglich mit dem HyperThreading Patch zu tun der seit Rev 2544 Bestandteil von ffdshow ist?

 

Aktuelles Rev 2543 Build kann hier runtergeladen werden: http://forum.doom9.org/showthread.php?p=854609#post854609

 

 

Zum Thema ATI x1000er Karten und Schmierer/Schatten beim aktivierten Hardware Deinterlacing:

 

Im ATI Control Center (Catalyst Version 6.6) Deinterlacing auf "Force Wave" setzen.

PowerDVD 6 OEM Filter auf "Auto" setzen -> Perfektes Bild.

Wenn ich die Version 7 Trial installiere sind die Schmierer/Schatten wieder da, anscheinend aktiviert die aktuelle PowerDVD Version die speziellen x1000er Features und die Probleme mit dem Bild sind wieder da?

Link to comment
Hab mit gerade Builds von Kurosu (http://kurosu.free.fr/ffdshow.htm) runter geladen und hier gibts keine Probleme beim Kanalwechsel!!!!
Dafür funktioniert bei mir bei kurosu's build's der Audio-Normalisierer nicht. Mit den build's von videomixer9 hab ich da keine Probleme.

 

Gruß

 

akapuma

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