Verzweifelter Versuch Anime BluRays zu retten

  • Hallo alle zusammen! :)


    Ich bin gerade frisch beigetreten und würde mich freuen wenn sich ein paar unter euch meinem Problem annehmen.


    Ich versuche seit Tagen die betroffenen BluRays des Animes "Fairy Tail" zu deinterlacen aber ich bekomme einfach kein zufridenstellendes Ergebnis zu stande.


    Mal wirkt alles ziemlich pixelig, mal hab ich eine Framerate von 119, mal wirkt alles zerhackt ...


    Ich habe schon mit Handbrake, ffmpeg und Avisynth herum gebastelt. Bei letzterem bin ich allerdings noch komplett unerfahren (vor ein paar Tagen erst entdeckt). Ich weis langsam nicht mehr weiter.


    Der Witz ist das nicht einmal alle Blu-Rays davon betroffen sind. Nur die Blu-Rays welche die Episoden 113 bis 174 beinhalten sind interlaced. Alle anderen Folgen sind progressiv bei 23,976 FPS.


    Zudem wirken die betroffenen Folgen im Vergleich zu den vorherigen Folgen ziemlich unscharf (so als ob das Upscaling was bei den vorherigen Folgen geklappt hat, auf einmal fehlgeschlagen ist).


    Ich lege euch MediaInfo Files von zwei Remuxen, Bilder und Samples bereit. Ich hoffe ihr könnt mir helfen.


    https://drive.google.com/drive…Yk_7EFniSaqbIcb_nGujLwBYR (Dateien liegen hier)

    Viele Grüße

    Win

  • Soweit ich das auf den ersten Blick beurteilen kann, ist das nicht "lineares Interlacing", sondern Telecine (3:2 Pulldown). Daher gleich die Frage: Welche Methoden hast du bisher versucht? War auch IVTC darunter? Bei Zeichentrick kann die automatische Erkennung des korrekten Musters schwierig sein, weil es da viele Szenen gibt, in denen Frames wiederholt werden, ohne dass eine Bewegung erkennbar ist, und dann passiert plötzlich ein deutlicher Sprung; aber die Szene in deinem "fehlerhaften" Clip, in der ein schöner langsamer Schwenk passiert, zeigt das 3:2-Muster klar und deutlich.

  • Hey LigH ^^

    Also das Telecine hab ich versucht durch ffmpeg mit ffmpeg -i Fehlerhaft_Sample.mkv -vf pullup,dejudder,fps=24000/1001 -f yuv4mpegpipe - zu beheben.


    Die Framerate war darauf hin bei 23,976 und die Bewegungen waren dann ebenfalls flüssig. Allerdings sah das Ergebnis noch lange nicht so aus wie bei den nicht betroffenen Folgen. Es wirkt im Vergleich zu den nicht betroffenen Folgen immer noch ziemlich unscharf und zwischen den schwarzen Konturen sind immer noch Linien zu erkennen.


    Ich habe ein Sample vorbereitet und noch das MediaInfo dazu angehangen.


    https://drive.google.com/drive…2xmtfUYRHAPkwT0ltsyGwNiIZ


    Gruß Win

  • Nun, wie gesagt: Es ist bei Zeichentrick nicht leicht, das Wiederherstellungsmuster vollautomatisch richtig zu erkennen. Kann gut sein, dass es für AvISynth da schlauere Plugins gibt, besser konfigurierbare Plugins, oder dass man den Funktionen, die in ffmpeg eingebaut sind, etwas helfen muss ... da ist dann mein Wissen an seinem Ende. Mal schauen, wer sonst noch Ideen hat.

  • Code
    1. -vf pullup,dejudder,fps=24000/100

    wenn Avisynth oder Vapoursynth keine Alternative sind vielleicht eher:

    Code
    1. mencoder -lavdopts threads=8 -really-quiet -of rawvideo -o - -ovc raw -noskip -field-dominance -1 -vf scale,format=i420,filmdint,scale,format=i420 -sws 10 -forcedsubsonly -nosub -nosound -mc 0 "Fehlerhaft_Sample.mkv" | ffmpeg -loglevel fatal -noautorotate -nostdin -threads 8 -an -sn -r 24000/1001 -s 1920x1080 -f rawvideo -i - -r 24000/1001 -f yuv4mpegpipe - | ...

    würde aber generell zu Vapoursynth oder Avisynth raten, da gibt es besseres IVTC, antialiasing usw.

  • Hallo Selur! :)


    Ich habe es mal 1:1 mit deiner mencoder Befehlszeile (unter Arch Linux) versucht aber leider ebenfalls kein Glück.

    Die Framerate war zwar ebenfalls 23,976 und die Bewegungen waren super flüssig aber auch hier sind die Streifen zwischen den Konturen nicht verschwunden. :/

    Ich habe mal zwei Screenshots angehangen.



    Ich habe mich natürlich auch mal etwas in Avisynth eingearbeitet und mit QTGMC versucht was zu retten aber auch hier ohne Erfolg (siehe Samples).


    Hättest du denn einen konkreten Vorschlag was ich mal in das Avisynth Skript schreiben sollte?


    Edit: Was Avisynth angeht bin ich noch ein totaler Neuling. Ich wäre also um jede Hilfe dankbar. :D


    Gruß Win

  • In Avisynth/Vapoursynth würde ich:

    1. das Material mit QTGMC Bob deinterlacen

    2. das Material mit sRestore auf die gewünschte Framerate bringen

    3. einen Anti-Aliasing-Filter anwenden:

    Hier mal ein Beispiel

    (an dem Anti-Aliasing würde man dann nochmal schrauben)


    In FFmpeg könnte man eventuell etwas ähnliches Basteln, also bob deinterlacen, dann frames verwerfen.


    Cu Selur

  • Sehr empfehlenswert ist das TIVTC-Paket, aktuell von pinterf (das wird gerade zusammen mit TDeint für AviSynth+ noch ordentlich aktualisiert, auch als 64-bit-Version).


    Allgemein sollte ein Skript etwa so aussehen:


    Code
    1. LoadPlugin("TIVTC.dll")
    2. # eine Videoquelle, möglichst FFVideoSource oder LwLibavVideoSource
    3. TFM()
    4. TDecimate()


    Allerdings haben die Funktionen auch noch mögliche Parameter, die gerade bei Zeichentrick die automatische Telecine-Muster-Erkennung unterstützen oder gar die manuelle Vorgabe von Startwerten erlauben.


    Selur : QTGMC ist doch nur für lineares Interlacing geeignet, nicht für Telecine... oder willst du damit Artefakte aus einem falsch erkannten Pulldown-Muster kaschieren? Besser wäre wohl, erst mal zu schauen, dass das 3:2-Muster wirklich korrekt zum Material passt, also aus den 5 möglichen Startwerten der richtige verwendet wird.

  • Ich habe es selbst noch nicht getestet, weil ich nicht weiß, welche Parameter für die Mustererkennung bei Zeichentrick optimal sind. Bisher gehe ich noch davon aus, dass ein falscher Pulldown-Muster-Offset die Ursache sein könnte.

  • Ne, glaub ich nicht, sieht für mich eher aus, als ob da irgendwann mal falsch interlaced resized wurde,... eventuell sollte man IVTC und downsizen und wieder upsizen,...

    Mit Vapoursynth:

  • Hier was mir aktuell gefällt: (kurz, wenige Filter, gutes Ergebnis)

    Für kleine Glitches -> DeSpot, HQDeringmod

    Für die Combing-Reste -> DAA

    Hier mal ein Reencode.


    Vor allem kleine Rückstände vom IVTC haben sehr genervt, gehen mit DeSpot aber ganz gut weg, auch wenn das das Skript enorm bremst.


    Cu Selur

  • Hey Selur, hey LigH! :)


    Wow! Euch zwei echt Danke für eure Mühe!


    Selur, ich hab mir deinen ReEncode mal angeschaut und Wow! Sieht echt mehr als nur deutlich besser aus als das Original und meine Versuche! :D


    Dein letztes Skript ist ja jetzt ein VapourSynth Skript oder?


    Gruß Win

  • In Avisynth sieht das Ganze so aus:

    Anmerkungen:

    1. Habe nicht daa sondern EdgeSmoothFast verwendet, da daa in Avisynth nicht so gut ist.

    2. Habe den Multithreading support deaktiviert (SetFilterMTMode + Prefetch) da ich hier nur 32bit Avisynth benutzte und 2xDeSpot sonst zu viel Speicher frisst bei 8 threads.


    Cu Selur


    Ps.: Würde eher Vapoursynth oder zumindest 64bit Avisynth+ empfehlen bei HD und höheren Auflösungen. :)

  • Hey Selur  ^^


    So, habe nun deine Vapoursynth Lösung probiert und mehr als "funktioniert einwandfrei" kann ich nicht sagen. :D


    Ich habe das Vapoursynth-Skript mit dem "Hybrid"-Tool nachgestellt was du verlinkst. Nur das lostfunc "Teil" musste ich selbst noch herunterladen.


    Finde das Hybrid-Tool im übrigen klasse! :D


    Gibt's bei euch im Board eigentlich eine Einleitung für Einsteiger? Also wo mal so grob erklärt wird was die einzelnen Filter, usw. alles machen. Würde gerne mehr darüber lernen. :)


    Nochmal vielen vielen Dank & Gruß Win