AviSynth, Crop, VirtualDub und der MPC

  • Moin Leute,

    ich habe ein Video (704 x 576), das möchte ich mit VirtualDub zu nem AVI-File (XVID) komprimieren. Ich nehm für die ganze bearbeitung AviSynth zur Hilfe.

    Hier mein Skript:

    Code
    AviSource("bla.avi")
    Trim(8849,56629) ++ Trim(70893,114317) ++ Trim(129962,170720) ++ Trim(185767,202145)
    Telecide()
    DeGrainMedian()
    FadeIO2(10)
    Lanczos4Resize(512,384)
    Crop(0,80,508,222)

    So, probleme macht der Crop. Wenn ich auf eine breite von 508 croppe, und das ganze in VDUbMod anschaue, dann sind alle Farben ziemlich kaputt. Schau ich das ganze im Media Player Classic an, dann stimmt es wieder. Crop ich auf eine Breite von 504, dann stimmt es in beiden wieder. ich hab mal ein Bild von VDubMod angehängt. Was is das für ein Problem? Und wie kann man es am besten beheben?

  • Generell: Du solltest mod16-Auflösungen benutzen.

    Der Fehler liegt woanders, du musst croppen bevor du resized.

    Außerdem ist die 4 Bei Lanczos4Resize überflüssig: LanczosResize()

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • Zitat von nexustheoriginal

    Generell: Du solltest mod16-Auflösungen benutzen.

    Der Fehler liegt woanders, du musst croppen bevor du resized.

    Außerdem ist die 4 Bei Lanczos4Resize überflüssig: LanczosResize()

    wenn ich croppe bevor ich resize, mach ich doch den PAR kaputt, oder?

  • Musst eben entsprechend resizen.

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • Zitat von nexus

    Außerdem ist die 4 Bei Lanczos4Resize überflüssig: LanczosResize()

    Ist sie nicht!
    Lanczos4Resize() schärft mehr.

    Die Rotation der Erde wurde in den letzten Jahren primär durch sich im Grab umdrehende Musiker angetrieben - Mainstream sei dank.

  • hmm okay, dann bitte ich um eine kurze erklärung, wie ich dieses skript wieder richtig hinbekomme.

    Mein video is 704x576 Pixel groß. Von links müssen 0, von rechts 6, von oben 118 und von unten 122 pixel weg.

    Wenn ich das richtig verstanden hab, soll der Crop vor den Resize.

    Code
    AviSource("Sweet Home Alabama.avi")Trim(8849,56629) ++ Trim(70893,114317) ++ Trim(129962,170720) ++ Trim(185767,202145)Telecide()DeGrainMedian()FadeIO2(10)Crop(0,118,-6,-122)

    Geht ja erstmal nich, weil dann AviSynth weint, dass die Breite mod 4 sein muss.

    okay, also dann das Crop auf

    Code
    Crop(0,118,-8,-122)

    gut, damit bin ich den noise am rechten rand und die schwarzen balken los. wie resize ich das ganze nun richtig? Video hat nach dem Crop noch ne Auflösung von 696x336.

    Danke! phXql

  • ^ Eastermeyer, nexus:

    http://www.avisynth.org/Resize

    Lanczos4Resize ist in AviSynth 2.56 jetzt implementiert als Kürzel für LanczosResize(x, y, taps=4); Standardwert für "taps" wäre dann wohl 3, weil "LanczosResize" ja eigentlich immer mit "taps=3" gearbeitet hat.

    Jetzt neu: Spline16, Spline36 und Gauss als Filterverfahren!

  • Croppen ändert ja nichts am Seitenverhältnis, d.h. wenn du die vertikale Auflösung z.B. um einen Faktor x verkleinerst, musst du die horizontale Auflösung um den gleichen Faktor verkleinern, also z.B.
    du hast 696x363 und willst nun eine horizontale Auflösung von 512 (entspricht einer Stauchung mit Faktor 1,359375), dann wäre die korrekte Höhe ~267. Damit die Höhe nun mod8 oder besser mod16 wird, kannst du nun entweder einen schwarzen balken "drankleben" oder du nimmst eine kleine (praktisch nicht sichtbare) verzehrung in kauf und wählst 264 oder 272 als Höhe.

    [edit]
    Alternativ kannst du die vertikale Auflösung beibehalten und das Video dann horizontal gestaucht abspeichern. Dann musst du nur noch beim komprimieren bei Xvid das richtige Seitenverhältnis angeben und der Player (sofern er es unterstützt) skaliert das Video automatisch auf die passende Breite.
    Diese Methode dürfte die beste Qualität liefern, ist aber nicht unbedingt kompatibel zu manchen Playern und SAs.

  • Okay, danke Limit.

    Aber nun mal ne doofe Frage: muss ich überhaupt resizen? Das soll ein 1 CD-Rip werden (700 MB mit 96kbps MP3 tonspur). Irgendwo meine ich mal gelesen zu haben, man soll es mit einem bikubik-filter resizen, damit es smoother wird, und der codec besser komprimieren kann...

  • Wie lang ist der Film denn?
    Resizen sollte man nur dann, wenn es unbedingt sein muss, also wenn die Bitrate für die Originalauflösung einfach nicht ausreicht und es zu Blockbildung kommt.
    Eine Rechengröße dafür ist z.B. die Bits/Pixel. Lassen sich wie folgt ausrechnen: Bitrate / ( hor. Auflös. * vert. Auflös. * Framerate )
    Ich codiere meist so, dass der Wert zwischen 0,2 und 0,25 liegt. Das ist aber auch abhängig davon, wieviel Aktionanteil der Film hat und wieviel Rauschen darin ist. Ein stark verrauschter Aktionfilm braucht eher mehr als 0,25 und eine perfekte DVD mit kaum Aktion kommt auch mal gut mit weniger als 0,2 aus.

  • Film is 1:38h lang. Rauschen is auch immer drin, da sche*** analog-tv...

    Ich werd den Film einfach mal mit und einmal ohne resizen komprimieren, und mir dann die AVIs anschauen... danke!

Jetzt mitmachen!

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