Jump to content

Wenn ffdshow, welches deinterlacing wählt ihr?


c4rD1g4n

Recommended Posts

hi,

 

welche deinterlacing option wählt ihr, wenn ihr ffdshow als dvb/dvd/mpeg2-decoder in DVBViewer nutzt?

 

was eignet sich am optimalsten um kammartefakte zu eliminieren UND ruckelarme/freie laufschrift darzustellen (n24, n-tv usw.) ?

 

als alternative zu ffdshow stünde noch nv-decoder und power-dvd zur verfügung.

 

 

danke für die aufmerksamkeit!

Link to comment

Das kommt dem am nähsten, was ich je mit Softwarelösungen getestet habe. Aber mit HD-Material sollte man das schleunigst vergessen, zu CPU lastig, zumal AviSynth auch nicht wirklich threaded ist...

Link to comment

also ich habe nun ein script erstellt:

 

LoadPlugin("D:\Tools\*****\AviSynthPlugins\yadif.dll")
Yadif()

 

in ffdshow habe ich avisynth angehakt und das script geladen

alles andere habe ich so gelassen.

 

war´s das? oder muss ich bei yadif() noch parameter einfügen?

sieht ganz gut aus. laufschrift ist lesbar und nur minimal abgehackt.

5-tap lowpass in ffdshow war aber auch ganz brauchbar, fand ich.

Edited by c4rD1g4n
Link to comment

ok, erstmal war alles einbildung, da power dvd immer noch aktiv war :bye:

 

nun habe ich die neueste ffdshow installiert und auch für mpeg2 aktiviert.

 

bei "libmpeg2" bekomme ich kein bild auf dem tv und bei "libavcodec" schmiert DVBViewer nach dem start gleich wieder ab ;)

 

tolle wurst.

Link to comment

gut, hab´s jetzt.

 

http://forum.doom9.org/showthread.php?t=124284

 

die zweite zeile von der n-tv laufschrift bleibt aber irgendwie zuckelig, egal, ob

 

5-tap lowpass, yadif oder TDeint gewählt wird.

 

load_stdcall_plugin("D:\*****\*****\GordianKnot\AviSynth 2.5\plugins\yadif.dll")
loadplugin("D:\*****\*****\GordianKnot\AviSynth 2.5\plugins\TDeint.dll")
#yadif(mode=0, order=-1)
TDeint(order=-1,full=false)

 

um yadif zu aktivieren und gleichzeitig tdeint zu deaktivieren, die raute (#) vor "yadif" in zeile 3 entfernen und vor "TDeint" setzen

ansonsten sind die pfade anzupassen und das ganze als "name.avs" zu speichern

natürlich muss avisynth installiert und die plugins tdeint.dll und yadif.dll vorhanden sein.

 

wichtig ist, daß yadif mit "load_stdcall_plugin" geladen wird und nicht mit dem normalen "loadplugin"

Edited by c4rD1g4n
Link to comment

Mein Script sieht folgendermaßen aus:

 

LoadCplugin("C:\avisynth\yadif.dll")
Yadif(mode=1, order=1)

 

LoadCplugin geht auch.

 

Mode 1 bedeutet, dass der Deinterlacer temporal und spatial arbeitet, sowie mit doppelter Framerate. Das entspricht ca. aktuellen Pixelshadern in GPU's, vielleicht nicht ganz so aufwändig.

 

Die Field Order musste ich umdrehen. Die hat einfach nicht gestimmt.

 

Ich habe als Dekoder den CyberLink verwendet und da das Deinterlacing auf Weave gestellt, über die Felder läuft also kein Algorithmus der die Qualität beeinflusst.

 

Um ffdshow nun als reinen PostProcessor einzubinden (nicht als Dekoder) kann man das PostProcessor Plugin aus der Members-Area verwenden. Wichtig ist, dass in ffdshow das Format 'Raw' aktiv ist.

Link to comment

@Cinch:

 

Hast Du ein flüssiges Bild? Vor allem bei Laufschriften? Hast Du noch weitere Deinterlacer verwendet? z.B. Video Adaptives Vector Deinterlacing? Denn ich hab ne Intel GPU und ich kann keine Hardwaremäßigen Deinterlacer einstellen.

Link to comment

@oesi:

 

Ihr zwei Speziallisten habt euch jetzt auf externe Deinterlacer wie Yadif eingeschossen (den ich auch noch testen möchte), aber hast du mal den in ffdshow integrierten Kernel-Bob getestet? Der liefert bei mir ein sehr gutes Bild (nat. nur SD) mit butterweichen Laufschriften (z. B. N24). Lediglich bei EXTREM schnellen Bewegungen und SEHR starkem Kontrast sieht man manchmal für Sekundenbruchteile Fehler im Deinterlacing - wobei ich mir nicht einmal 100%ig sicher bin, ob das nicht auch an den Jpeg-Artefakten der niedrigen Bildraten liegen kann.

Link to comment

Hi,

 

ich glaub, dass ich den gerade auch schon aktiviert habe. Aber ich würde gerne, wie wir alle, das Optimum herausholen und nun versuche ich mal die Variante: Powerdvd + Postprocessor (ffdshow + avisync) und einmal ffdshow + avisync.

 

Ich habe ein Intel System. Dort würde ich gerne wisse, wo ich dort Hardware mäßig die Deinterlacer einstelle??

Link to comment
Mein Script sieht folgendermaßen aus:

 

LoadCplugin("C:\avisynth\yadif.dll")
Yadif(mode=1, order=1)

 

Mode 1 bedeutet, dass der Deinterlacer temporal und spatial arbeitet, sowie mit doppelter Framerate. Das entspricht ca. aktuellen Pixelshadern in GPU's, vielleicht nicht ganz so aufwändig.

 

yo, baby!

 

mode=1 ist der hammer!

beide zeilen auf n-tv zuckelfrei :bye:

 

....und order musste ich nun auch auf 1 setzen

 

Ich habe als Dekoder den CyberLink verwendet und da das Deinterlacing auf Weave gestellt, über die Felder läuft also kein Algorithmus der die Qualität beeinflusst.

 

Um ffdshow nun als reinen PostProcessor einzubinden (nicht als Dekoder) kann man das PostProcessor Plugin aus der Members-Area verwenden. Wichtig ist, dass in ffdshow das Format 'Raw' aktiv ist.

 

so habe ich das nun auch gemacht.

Link to comment

mmmh.....ab und zu freezt mir jetzt das bild bzw. wird total lahm...so ~1 frame pro sekunde - ton läuft normal weiter.

muss dann wiedergabe neu aufbauen, dann geht´s wieder eine weile.

Link to comment

nochmal zum grundverständnis:

 

avisynth ist eigentlich nicht für die echtzeit (live) wiedergabe gemacht worden.

 

ich hab da schon oft mit gekämpft (und ich glaube cinch auch), wirklich stabil wars leider nie :bye:

für live tv würde ich daher eine lösung mit dxva(2) und hardware deinterlacing vorschlagen!

 

bei dvd's lässt sich darüber noch streiten - das deinterlacing ist da meistens auch nicht soooo wichtig.

siehe dazu auch den beitrag zum deinterlacing aus dem avs forum: http://www.avsforum.com/avs-vb/showthread.php?t=719041

Edited by nuts
Link to comment
Um ffdshow nun als reinen PostProcessor einzubinden (nicht als Dekoder) kann man das PostProcessor Plugin aus der Members-Area verwenden. Wichtig ist, dass in ffdshow das Format 'Raw' aktiv ist.

Wenn man "Raw" aktiviert, klinkt sich ffdshow global in (fast) alle DirectShow-Player ein. Die Einstellung ist für den Einsatz via Postprocessor Plugin jedoch nicht mehr notwendig:

 

http://www.DVBViewer.info/forum/index.php?...st&p=196409

Link to comment
nochmal zum grundverständnis:

 

avisynth ist eigentlich nicht für die echtzeit (live) wiedergabe gemacht worden.

 

wenn´s doch aber sooo geil aussieht

 

habe jetzt wieder (und diesmal wirklich) powerdvd durch ffdshow ersetzt

prozessorlast von ~40 auf ~25% gefallen (core2duo@3800 MHz :) ) und in verbindung mit yadif(mode=1) sieht´s immer noch genauso gut aus wie mit powerdvd.

dann noch msharpen ~60 hintendran und meine röhre sieht fast aus als ob sie HD könnte :bye:

bis jetzt auch noch kein einfrieren des bildes.

 

bei dvd's lässt sich darüber noch streiten - das deinterlacing ist da meistens auch nicht soooo wichtig.

siehe dazu auch den beitrag zum deinterlacing aus dem avs forum: http://www.avsforum.com/avs-vb/showthread.php?t=719041

 

naja, aktuelle dvd´s sind ja zum glück kaum noch interlaced.

höchstens die, wo (alte) tv-produktionen drauf sind.

früher war das aber auch bei kinofilmen öfter der fall (erste ausgabe von "casino" z.b.) ;)

Link to comment

Klingt nachahmenswert ;)

 

Wenn du noch eine kleine Hilfe geben würdest: Welches Skript verwendest du für Yadif, und WIE bindet man dieses Skript in DVBV ein? Braucht man dazu ein spezielles Plugin? Muss avisynth irgendwie in DVBV eingebunden werden, oder reicht die Installation mit ffdshow? Ich habe leider noch überhaupt keine Erfahrungen mit avisynth...

Link to comment

nein avisynth muss einfach nur über ffdshow eingebunden werden. (und das dann in den DVBViewer - weisste ja wie es geht)

 

im ffdshow unter dem punkt avisynth dieses skript eingeben:

 

LoadCplugin("C:\avisynth\yadif.dll")
Yadif(mode=1, order=1)

 

die yadif.dll muss sich natürlich im entsprechenden ordner befinden.

Link to comment

so, wieder anders:

 

das mit dem avisynth script ist einfach nicht stabil zu bekommen.

sobald ein kleiner fehler im stream ist, wird´s ruckelig bzw. bewegt sich überthaupt nicht mehr (siehe weiter oben)....schade.

 

hatte dann ffdshow als decoder mit kernel bob als deinterlacer. auch ganz chic, aber beim snooker schauen wenn ein umschnitt kommt, dann sind da immer kurz häßliche flecken auf dem tuch.

nun powerdvd, mit ffdshow+kernel bob als plugin.

sieht gut aus bis jetzt. auf röhre kein unterschied zu der yadif-lösung. laufschrift auf n-tv genauso chic wie mit yadif.

auf hochauflösendem wiedergabegerät (lcd/plasma) mag yadif einen tick besser aussehen, aber was hilft mir das, wenn ich alle halbe stunde "wiedergabe neu aufbauen" drücken muss? ;)

Edited by c4rD1g4n
Link to comment

Hallo zusammen,

 

ich habe diesen Thread mal ein wenig verfolgt. Wenn ich das richtig verstehe, versucht ihr das 25Hz Signal ordentlich, d.h. ohne ruckeln an Eurem TV auszugeben.

Ich behelfe mir derart, dass ich einfach meine GraKa auf 50Hz eingestellt habe, d.h. die Deinterlacer (bei mir ganz einfach via ATI Catalyst) haben nichts zu tun. Postprocessor-Plugin oder ähnliches nutze ich gar nicht.

Sollte ich doch einmal eine NTSC Wiedergabe brauchen, stelle ich per Shortcut einfach auf 60Hz um. Resultat: Klare Ruckelfreie Laufschriften und keine Stabilitätsprobleme.

 

Vielleicht nutzt dieser Tip dem einen oder anderen, hoffe ich habe diesen Thread nicht völlig missverstanden ;)

Link to comment

Dido, sei mir nicht böse, aber was du gerade sagst, hat mit dem Thema ungefähr gar nichts zu tun...

 

Beim Deinterlacing geht es um das Zusammenfügen zweier Halbbilder zu einem ganzen Bild, ohne hässliche Kammeffekte, Unschärfen, Auflösungsverluste und was sonst noch so alles passiert.

 

Das hat erst einmal nichts mit der Bildwiederholfrequenz zu tun! Natürlich sollte immer die vom Bildsignal verwendete Frequenz auch eingestellt sein, wenn nicht, kommt es zu gänzlich anderen Problemen (Mikroruckler oder Stottern).

 

In diesem Thread geht es aber darum, ein möglichst ideales Deinterlacing zu erzielen.

Link to comment

25 frames/sekunde auf 50 frames/ sekunde ist ein einfaches framedoubling!

schwierig ist es aus 50fields 50 frames zu machen.

 

oder aus 60 fields 50frames (riesen problem).

die wiederholungsfrequenz einfach im ati treiber umzustellen führt nicht zum gewünschten ergebnis, sondern es ruckelt (wie z.b. auch auf den ganzen 60hz pc monitoren)

 

edit \ die eingestellt wiederholungsfrequenz muss natürlich zur quelle passen (oder ein vielfaches davon wie z.b. 48hz bei 24hz quellen)

Edited by nuts
Link to comment
Dido, sei mir nicht böse, aber was du gerade sagst, hat mit dem Thema ungefähr gar nichts zu tun...

 

Sorry, dies hatte bei mir nur alle Ruckel- bzw. TrippleBall-Effekte behoben.

Link to comment

Möchte hier auch noch eine tolle lösung zeigen ohne Postprozessor Plugin. Damit macht vor allem Fussball und Premiere Spaß.

 

moin @gobblor

 

ich klink mich hier mal ein, vielleicht bringts dich weiter :-) nutze zZ auch die tryouts 1975. sowohl mit einer nvidia (htpc -> server) als auch mit einer ati (notebook -> client) karte krieg ich mittels "unchanged" ein bild, daß dem receiver mind. zu 90% entspricht...

 

aktiviere deinterlacing (hier: kernel bob, haken bei schärfer, schwellwert 10), nachbearbeitung (mplyer standardeinstellungen) sowie schärfen (xsharpen - standard) und fußball guggen macht wieder spaß. hab mich bei pdvd immer über ruckelnde & unscharfe laufschriften der nachrichtensender geärgert, aber die werden so auch flüssig dargestellt. bin aber der meinung daß man hier noch einiges optimieren kann... wie gesagt 90% zum receiver. man kann auch die reihenfolge der einzelnen filter verschieben, aber da such ich mir immernoch nen wolf und irgendwann hat man nur noch 4eckige augen und sieht eh nix mehr (w00t)

 

greetz

 

 

Ist aus einem anderen Beitrag.

Link to comment

Ich habe jetzt ffdshow mit AviSynth installiert und folgendes Skript geladen:

LoadCplugin("C:\Programme\ffdshow\yadif.dll")
Yadif(mode=1, order=1)

Leider stürzt DVBV sofort ab, wenn ich den Haken in ffdshow bei AviSynth setze.

 

Habe ich noch etwas vergessen?

Link to comment

Alles klar - das Abstürzen lag daran, dass ich mich auf das von ffdshow mit installierte AviSynth verlassen habe. Nachdem ich nun AviSynth 2.5 installiert habe, geht alles.

 

Und ich muss sagen: Hut ab, es sieht fantastisch aus, allerdings bei ca. 25-30% Prozessorlast, aber daran soll es nicht scheitern.

 

Jetzt mache ich mal einen "Langzeittest", um zu sehen, ob es auch bei mir zu den o. g. Aussetzern kommt - seit ca. 2 Stunden läuft es allerdings klaglos.

Link to comment

Yadif wurde nun direkt in ffdshow (ffmpeg-mt Zweig) integriert. Sollte nun also auch ohne AviSynth gehen.

 

click

 

Auf eine kompilierte Version des Zweigs müsst ihr halt warten, oder bis der Zweig in den Trunk gemergt wird und somit dann auch in den offiziellen Builds mit drin ist.

Link to comment
  • 3 weeks later...
  • 4 weeks later...

@cinch: Hast Du immernoch als Gespann für DVB-S Fernsehn:

 

Powerdvd im Weave und anschließend mittels Postprozessor Plugin FFDSHOW und Yadif?

 

Ich habe gelesen, dass meine CPU Last sinkt, wenn ich auf das neue FFDSHOW update (inkl. integriertem Yadif!). Stimmt das?

 

besten dank für Antwort und Hilfe

Link to comment

Die einzigen Deinterlacing-Optionen in ffdshow, die bei Laufschriften IMO wirklich brauchbare Ergebnisse liefern, sind Kernel-Bob und Yadif. Kernel-Bob braucht aber 50% CPU-Leistung, und ich befürchte, dass es nicht multithreaded ist, also auf meinem 1,8GHz-Intel-Dualcore am Anschlag läuft. Yadif braucht ca. 25-30%, das ginge zur Not noch.

 

Dennoch hab ich immer wieder das Problem, dass das Deinterlacing vorübergehend einfach nichts mehr tut. Die CPU-Last sinkt dann auf irgendwas <10% und man kann sich kämmen im Fernsehbild. Manchmal funktioniert es nach kurzer Zeit dann wieder. Habt ihr diese Aussetzer auch? Das passiert hier schon nach kurzer Zeit, also manchmal innerhalb einer Minute.

Link to comment

Ich wollte mich auch gern mal mit ffdshow als Decoder versuchen. Leider hält sich hartnäckig der PowerDVD Decoder. Ich habe unter DirectX MDEG2 ffdshow eingestellt. Wenn ich nun aber unter Ansicht ---> Filter nach sehe, dann steht da nach wie vor der PowerDVD Vider/SP Decoder drin. Das ändert sich auch nicht nach einem Neustart des DVBViewer, selbst wenn ich den kompletten Rechner neu starte nicht. Woran könnte das denn liegen? Lediglich wenn ich auf den NERO Decoder oder so einen Microsoft Decoder umschalte, erscheint der jeweilige eingestellte unter Filter. Auch bei dem Umschalten auf den Arcsoft Video Decoder steht hartnäckig der PowerDVD drin.

Edited by Eichhorn
Link to comment

Wenn der eingestellte Decoder nicht verwendet wird, heißt dass das der Decoder sich nicht verbindet

Bei ffdshow kann es sein das du die Verwendung auf einige Anwendungen beschränkt hast und der DVBViewer nicht dabei ist. Das musst du dann in den Optionen von ffdshow ändern.

Link to comment

Außerdem muss in ffdshow die Dekodierung von MPEG-2 aktiviert sein. Das war zuerst mein Problem, bei mir ging's auch nicht. Als ich das dann in der ffdshow-Videokonfiguration aktiviert hatte (auf einer der ersten Seiten), wurde ffdshow auch verwendet, wenn ich es einstelle.

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