• Hallo

    ich versuche eine scrollenden Abspann mit credits zu erzeugen, aber bekomme das nicht ohne störendes Ruckeln hin.
    Ich verwende AviSynth mit den Funktionen Title und Animate (modifizierte Funktion VScrollTitle von hier).

    Alternativ habe ich noch virtualdub und subtitler-2.4 ausprobiert, dabei war kein Ruckeln festzustellen, aber aber die zu scrollenden texte sind sporadisch zusätzlich nochmal mittig eingeblendet worden.

    Das Endergebnis soll eine Abspann für ein .avi file mit ca. 60 Zeilen in verscheidenen Schriftgrößen und mit verscheidenen Abständen sein.

    Gibts noch Freeware Alternativen oder Tips, wie ich die Probleme in den Griff bekommen könnte?

  • :welcome:

    Zitat von Omega42

    Das Endergebnis soll eine Abspann für ein .avi file mit ca. 60 Zeilen in verscheidenen Schriftgrößen und mit verscheidenen Abständen sein.

    Wenn es sich hier um stolze 60 Zeilen handelt, ist in AVISynth wenig Überblick über die ganzen, variablen Abstände gegeben.

    Vorschlag: Der ganze Abspann wird via Photoshop oder einem anderem Grafikprogramm als Ganzes vorbereitet und als PNG/BMP in AVISynth geladen. Passt einer der vielen Abstände nicht oder soll eine Grafik eingefügt werden kann das in einem Grafikprogramm leichter behoben werden.

    Vorschlagsskript hier:

    Code
    #Abmessungen des PNGs sind 704x3200
    credits=ImageSource("credits.png",0,0,25.,pixel_type="RGB32").Loop(2800)
    Animate(credits,0,2799,"Crop", 0,0,0,-2800, 0,2800,0,0)

    Die hier verwendete credits.png
    (60 Zeilen sind wirklich viel für VScrollTitle.)

    Achtung, um PNGs in AVISynth laden zu können ohne sie vorerst auf BMP zu konvertieren wird AVISynth 2.56a oder höher vorausgesetzt.

    Jetzt der etwas schwierigere Teil des Ganzen:
    Das Bild bewegt sich konstant mit nur einem Pixel pro Frame. Sobald Du den ganzen Abspann etwas schneller laufen lassen möchtest (variable Geschwindigkeit wärend eines Bildes bedarf bessere AVISynth-Skriptler als mich) musst Du mit Ruckeln rechnen.

    Abhilfe:

    • Soll der Abspann genau eine Zweierpotenz schneller laufen dann "last.trim(1,0).mergeluma(last,0.5).mergechroma(last,0.5)" und "selecteven()" einsetzen.
    • Einen MotionCompensator wie z.B. MVFlowFPS verwenden.
    • Bild bei der Erstellung mit vier- oder achtfacher Auflösung generieren und dieses erst nach dem Scrolling herunterskalieren. (Subsampling, somit auch langsamere Geschwindigkeiten als einen Pixel/Frame flüssig möglich.)
  • Danke für die ausführliche Antwort..

    ich werde mal die letzte Möglichkeit ausprobieren, Mit Gimp o.Ä. sollte der text-"Banner" ja ohne Porbleme mit höherer Auflösung abapeicherbar sein

  • Wenn Du Dich für die letzte Option entscheidest musst Du trotzdem etwas gegen das auftretende Ruckeln bei Bewegungen von über einem Pixel/Frame unternehmen.

    Die letzte Option war für langsame Bewegungen, um bei diesen trotzdem flüssige Wiedergabe zu ermöglichen.
    Skriptvorschlag für eine Bewegung in Viertelpixelschritten:

    Code
    setmemorymax(256)function upscale4(clip i){i.BicubicResize(i.Width(),i.Height()*4)}function downscale4(clip i){i.LanczosResize(i.Width(),i.Height()/4)}#Abmessungen des PNGs sind 704x3200credits=ImageSource("credits.png",0,0,25.,pixel_type="RGB32").upscale4().Loop(11200)Animate(credits,0,11199,"Crop", 0,0,0,-11200, 0,11200,0,0)downscale4()


    Und für eine vier Pixel/Frame flotte Bewegung:

    Code
    function mix(clip i) {i.Trim(1,0).Merge(i,0.5)}
    
    
    #Abmessungen des PNGs sind 704x3200
    credits=ImageSource("credits.png",0,0,25.,pixel_type="RGB32").Loop(2800)
    Animate(credits,0,2799,"Crop", 0,0,0,-2800, 0,2800,0,0)
    AssumeFPS(100)
    mix().selecteven()
    mix().selecteven()

    (credits.png ist die Gleiche)

    Um die Unschärfe etwas zu verringern kann das letztere "mix()." entfernt werden.
    Am besten Du experimentierst etwas herum. Die passende Geschwindigkeit ist ja nicht nur von der Auflösung, sondern auch von der verwendeten Schriftgröße abhängig.

Jetzt mitmachen!

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