Ruckelndes Video nach Bearbeitung mit TDeint

  • Hallo!
    Ich hab bis jetzt nur ein bisschen in AviSynth reingeschnuppert und es hauptsächlich mit DVX und jetzt StaxRip benutzt.
    Jetzt wollte ich meine TV-Aufnahmen mal wieder wandeln (TV Aufnahme - DVB-S) und bin dabei auf TDeint gestoßen.
    Von dem Deinterlacer bin ich wirklich begeistert...wenn da nicht ständig diese häßlichen Ruckler aller ca 2-3 sekunden wären :(
    Ich hab einige Aufnahmen probiert (Musikvideos von GoTV sowie MotoGP Rennen von Eurosport)...immer gibt es diese Ruckler.
    Hab dieses verhalten bei:

    TDeint()
    tdeint(mode=1).selecteven()
    TDeint(order=1,full=false)

    mit "Tdeint mode1" sind die Ruckler verschwunden...hab aber eigendlich keine Lust die Dateien so groß werden zu lassen...da kann ich ja gleich beim orginalen MPEG2 bleiben und mir die Arbeit ersparen...

    alternativ verwende ich grad "FieldDeinterlace(dthreshold=5)" hab damit aber relativ schlechte ergebnisse

    kann mir jemand helfen??

  • Bei Mode=1 verdoppelst Du ja auch die Framerate. Statt 50 Fields hast Du dann 50 Frames. Das braucht die doppelte Bitrate, verändert aber an den Bewegungen nichts. Daher ruckelt's auch nicht, bzw., es ruckelt nicht stärker, als es vorher schon der Fall war.
    Zyklische Ruckler, so wie Du sie beschreibst, sind völlig normal, wenn man Sendungen, die schlampig von NTSC zu PAL gewandelt wurden, einfach nur deinterlaced. Dabei ist es wurscht, welchen Deinterlacer Du benutzt.
    Es gibt reichlich komplexe Methoden, sowas besser hinzubekommen - such' mal z.B. nach "Voyager" hier im Board. Mache Dich auch mal zum Thema Interlacing bzw. Deinterlacing schlau. Nach "scharfis_brain" in Zusammenhang mit interlacing etc. zu suchen ist da hilfreich.

  • Also ich hab mich jetzt nochmal ein wenig mit dem "Exotisches Interlacing Guide" von scharfi auseinandergesetzt...jedoch stellt sich mir hier erstmal eine wichtige Frage:
    Wie erkennt man bei jedem video welche von den verschiedenen Formen vorliegen (dies ist ja sehr wichtig, weil je nach dem die behebung immer anders aussieht)??? Oder kann man das "nur" probieren und dann schauen, welcher Avisynth Script/Filer das Video am bessten behandelt???

  • Am hilfreichsten wäre es wenn du ein kleines Sample hochlädst, ansonsten setze mal nur bob() oder tdeint(mode=1) oder halt seperatefields(), denn kannst du dir nämlich jedes Feld einzeln angucken. Denn suchst du dir irgendwo zwei Sekunden in deiner Quelle. Wichtig ist dabei, dass Bewegungen auftreten (sonst erkennt man kein Interlacing). Beim anschauen der einzelnen Frames (Felder) musst du jetzt jeden Frame nach drei Kriterien unterscheiden.
    1. (d) Es ist ist ein Duplikat, also identisch zum vorherigen Frame trotz Bewegung.
    2. (b) Es ist ein Mischbild (sog. Blend), dass aus zwei Frames gemischt wurde.
    3. (c) Es halndelt sich um ein klares Bewegungsfeld (weder 1 noch 2).

    Wenn du das für zwei Sekunden (50 Frames) machst, solltest du mit Hilfe von Scharfis Interlacing Guide oder der Hilfe hier im Forum recht schnell erkennen was zu tun ist.

  • Zitat von MOmonster


    1. (d) Es ist ist ein Duplikat, also identisch zum vorherigen Frame trotz Bewegung.
    2. (b) Es ist ein Mischbild (sog. Blend), dass aus zwei Frames gemischt wurde.
    3. (c) Es halndelt sich um ein klares Bewegungsfeld (weder 1 noch 2).

    Also ich hab nochmal 2 Samples angehängt...

    Bei dem MotoGP Sample scheint es sich um 3. (klares Bewegungsfeld) zu handeln und bei dem Musikvideo Sample handelt es ich um 2. (Mischbild)...
    aber sollte TDeint nicht ohne Probleme mit Quellen 3. Sorte gut zurrechtkommen? ...oder bilde ich mir diese leichten ruckler nur ein?

  • Du musst jeden einzelnen Frame betrachten, also nur tdeint(mode=1) im Skript und denn jedes einzelne Bild (Abfolge von 15 bis 50 Bildern) anschauen. Denn könnte zum Beispiel sowas rauskommen:
    b c b c b c b c b b c b c b c ...
    Ich werde heute Abend mal einen Blick auf deine Samples werfen.;)

  • So, da bin ich wieder.
    Dein Musikvideo ist in der Tat eine Normwandlung. Dieses Skript hat eigentlich gut funktioniert.

    Code
    tdeint(mode=1)
    
    
    Crestore()

    Es gibt 23.976 fps aus, falls du also unbedingt 25 fps brauchst (Pal konform), solltest du das durch ein Speedup realisieren. Dass Crestore durchgängig flüssige Resultate für deine Source produziert, da bin ich mir bei diesen kurzen Sample nicht sicher. Für wirklich flüssiges Output ist restore24 oftmals ein bisschen besser geeignet. Benutze am besten die Forumsuche um mehr über die beiden Funktionen zu erfahren. Es gibt genug Beiträge dazu.

    Dein Motogp Sample ist allerdings reines Interlacing, also 50i. Tdeint(mode=1) erhält alle Bewegungsinformation und sieht sehr flüssig aus. Tdeint() erhält zwar nur die halben Bewegungsinformationen, sollte aber trotzdem flüssig laufen (für dein kurzes Sample war es so). Wenn das deiner Meinung nach nicht flüssig genug ist (ein Stocken sollte nicht auftreten), was eigentlich nicht der Fall sein sollte, gibt es da noch die Möglichkeit Motionblur etwas zu verstärken. Das würde denn sogar noch zu einer Bitratenreduktion führen. Auch hier zu sollte die Forensuche ein paar Treffer aufzeigen.

  • Hallo
    Hab mir jetzt mal das restore24 Paket runtergeladen...könnte mir jemand sagen, wie ich das ganze nun in StaxRip einbinde?? Man kann ja Filter einfügen indem man den Filternamen (z.B. "Tdeint()") eingibt...aber mit nem gesamten Script scheint das nicht zu funktionieren...bekomme immer "I don't know what "a2" is" ausgegeben :(
    Ich hab folgendes is das Avisynth-funktionsfenster kopiert:

    Mir ist StaxRip eben sehr sympatisch, da alles schön unter einer Oberfläche erreichbar ist...wäre schön wenn ich mich für restore24 jetzt nicht noch extra mit der AviSynth Skripterei befassen müsste...wo das doch StaxRip alles so schön für mich macht :ani_lol:

  • Hmm, das ist merkwürdig. Hast du auch schon Crestore getestet? Die Blends in deinen Sample sind recht schwer zu erkennen. Hast du auch restore24rc aus dem englischen Forum genommen, oder die alte Version? Die wird wahrscheinlich leichte Probleme mit der Blenderkennung bei deiner Quelle haben. Wenn das auch nicht hilft, lade doch am besten nochmal ein etwas längeres Sample mit mehr Bewegungen hoch. Auf keine Fall solltest du die Funktionen bei deinem MOTOGP Sample anwenden, nur bei dem Musikvideo.

  • Hab das restore24 Paket hier ausm Forum von folgendem Post:
    KLICK
    Kann sein, dass diese Version bissl alt ist ;)

    Nein zum Crestore testen bin ich bis jetzt wegen Zeitmangel noch nicht gekommen...leider
    Is schon klar, dass ich restore24 nur bei dem Musikvideo anwenden sollte :D

    Hier nochmal ein längeres Sample Musikvideo-Sample

  • Im englischen Forum (restore24 revisited) findest du irgendwo auch den Link zur neuen rc Version. Wie der Name allerdings verrät ist die Funktion noch nicht ganz fertig, trotzdem sehen die Resultate besser aus als mit der letzten offiziellen Version. Das Sample kann ich leider erst nächste Woche unter die Lupe nehmen. Bis dahin einfach mal Crestore und restore24 ausprobieren.;D

  • Ich habe gestern endlich die Zeit gefunden mal einen Blick auf dein etwas längeres Sample zu werfen. Es handelt sich wirklich um eine typische Blendkonvertierung. Die schlechte Qualität, besonders das Blocking erschwert die Blenderkennung. Es ist gut möglich, dass die ältere restore24 Version hier Probleme hat. Die RC Version konnte ich leider nicht testen, da ich nicht mehr alle benötigten Filter auf dem Rechner hatte (mache zur Zeit keine Konvertierungen). Mit den richtigen Einstellungen sollte diese Version jedoch keine Probleme mit deiner Source haben. Da es so viele sind, kann ich dir Momentan aber auch keine optimalen Werte geben.
    Ich habe Crestore kurz rüberlaufen lassen und habe ein gutes Resultat erhalten. Einfach mit den Basiseinstellungen rüberschieben und fertig ist:

  • Hi
    Hab mich lang nicht mehr gemeldet aber mir fehlt grad bissl die Zeit deine Tips auszuprobieren ;)
    In deinem Skript steht "besser" - gilt das auch für meine Quelle oder ist das nur ein allgemeiner Script? ...sollte ich es dann nicht gleich damit versuchen, wenns besser ist, als es mit der Standarteinstellung zu testen?

  • Es gilt speziell für deine Quelle. Natürlich kannst du es gleich damit versuchen. Die anderen Beispiele laufen etwas schneller oder haben einen einfacheren Gebrauch.

    Ich werde gleich Mrestore updaten. Mit den angegebenen Einstellungen arbeitet Crestore ziemlich gut, aber zum ausprobieren eignen sich die Profile von Mrestore auf jeden Fall.

  • Hi MOmonster

    Ich hab beschlossen mich nach langer Pause endlich mal wieder dem encoden zu widmen ;)
    Jetzt hab ich leider kein Crestore mehr zum download gefunden, sondern hab gelesen, dass dies jetzt in Mrestore integriert ist...was ändert sich dadurch am Script...einfach Crestore durch Mrestore ersetzen?
    Kannst du mir nen Tipp oder ne Vorgehensweise (guide oder ähnliches) nennen, der mir zeigt wie ich bei zukünftigen Wandlungen erkennen kann, welcher Deinterlacer (bzw. Einstellung) der besste wäre bzw. mit welcher Art von Ausgangsmaterial ich es zu tun hab??
    Desweiteren wäre für mich noch interessant, ob es sich mitlerweile lohnt sich in die x264-Materie einzuarbeiten (arbeite bis jetzt nur mit XVid)...sind die Qualitätsunterschiede groß? ...als ich es vor einiger Zeit getestet hab, haben mich die langen Codierzeiten abgeschreckt...

  • Da ich ja keine Version von Crestore auftreiben konnte, hab ich mal Mrestore probiert.
    Mein Script sieht folgendermaßen aus:

    Code
    LoadPlugin("C:\Programme\Videobearbeitung\StaxRip\Applications\AviSynth Plugins\mt_masktools.dll")
    import("C:\Programme\Videobearbeitung\StaxRip\Applications\AviSynth Plugins\Mrestore.avs")
    MPEG2Source("H:\wandeln\Musikvideos\Versuch\Fall out boy - Sugar we're going down.d2v")
    tdeint(mode=1)
    Mrestore()

    Leider bekomm ich jetzt immer die Fehlermeldung:
    "Evaluate: operands of "==" and "!=" must be compareable"
    (Mrestore.avs, line5)

    Wenn ich aber z.B. Mrestore(profile=1) benutze, geht das ganze :hm:
    Sollte nicht auch Mrestore() funktionieren?

  • Habe im Moment leider nicht viel Zeit. Mrestore() sollte eigentlich funktionieren. Ich werde mal ein Blick drauf werfen. Und die readme sollte ich auch noch ändern: profile=1 ist eigentlich nicht sehr empfehlenswert. Es ist lediglich das ausgewogenste Profil (versagt weder bei Cartoon noch Realsources, bringt aber auch nie das Optimum) und daher Standard.
    Ein Blick auf x264 lohnt sich allemal, da ich aber schon seit Ewigkeiten nichts mehr encodet habe, gebe ich dir dazu lieber keinen Ratschlag.
    Hast du schon mal einen Blick auf Scharfis exotischen Interlacing-Guide geworfen. Ist nicht so richtig aktuell, was anderes fält mir im Moment aber leider auch nicht ein.

    Edit: Mrestore hat gewisse Neuerungen erfahren, siehe hier.

  • Ich hab nochmal eine Frage...
    Wenn ich mit Crestore arbeite, ist folgender Scriptschnipsel ein Bestandteil:

    Code
    tdeint(mode=1)
    dclp=last.Crop(%crop_left%,%crop_top%,-%crop_right%,-%crop_bottom%).BilinearResize(%target_width%,%target_height%)
    Crestore(clip2=dclp)

    Das Croppen und vor allem das Resizen ist in diesem Fall in der Zeile nur intern da, um Crestore eine leichtere Erkennung zu ermöglichen, oder versteh ich das falsch? Oder kann ich mir dann generell sparen, das Video danach zu Resizen?
    Wenn es nur für Crestore da sein sollte, auf welche Auflösung sollte ich dann Resizen - wäre für Crestore zur Erkennung eine niedrige, mittlere oder hohe Auflösung sinnvoll, oder die gleiche, auf die das Video nach der Bearbeitung Resized werden soll (so wie es grade im Script ist)???
    Und die Frage der Fragen: Ist Crestore "besser" als restore24 (wenn man das überhaupt so sagen kann :ani_lol: )

  • Der Scriptschnipsel wird in der Tat nur intern für die Erkennung verwendet und hat keinen Einfluss auf die Bildausgabe. Das Resizing wird hier einfach nur als Ersatz zum Weichzeichnen verwendet und kann abhängig von der Qualität des Materials verwendet werden.
    Zu der Frage was ist besser:
    Diese Frage kann man nie so genau beantworten. Es ist davon abhängig wo deine Prioritäten liegen. Crestore und Mrestore laufen bei mir besser mit anderen Filtern zusammen, laufen auf meinem Rechner etwas schneller und sind speziell für mich, da ich ja genau die Wirkung jedes Parameters kenne leichter konfigurierbar. Aber aufgrund einer ordentlichen Dezimierung läuft restore24 normalerweise flüssiger als Crestore und aufgrund der besseren Blenderkennung deutlich blendfreier als Mrestore (bei Animes).
    Ist also grundsätzlich davon abhängig welches Ausgangsmaterial du hast und worauf du gerade Wert legst. Häufig hat restore24 rc wohl qualitativ die Nase vorn.
    Mrestore 1.5 steckt in der letzten Entwicklungsphase und wird Mrestore v1.03 und Crestore v1.02 ablösen und endlich auch mit einem überarbeiteten Dezimierungsalgorythmus daherkommen. Ein Vergleich mit restore24 ist bei dieser Version wohl etwas sinnvoller.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!