Verlustarm Auflösung DVD-kompatibel erstellen

  • So. Ihr seid Schuld, dass ich nun doch mit Avisynth arbeite. ;D

    Ich möchte ein Intro für die DVD erstellen. Dazu habe ich Bilder von 0 bis 209 die ich per Imagesource lade

    PHP
    ImageSource("D:\Zusammengefügt\Intro\Frame_%d.tga", start=0, end=209, fps=25, pixel_type="rgb24")


    Nun wollte ich die Bilder 150 bis 209 zehn mal wiederholen.

    Also schaut mein Script nun wie folgt aus.

    PHP
    ImageSource("D:\Zusammengefügt\Intro\Frame_%d.tga", start=0, end=209, fps=25, pixel_type="rgb24")
    Loop(150,209,110)


    Das Resultat ist allerdings nicht wie gewünscht. Mein Script ist also fehlerhaft.
    Könnt ihr mir sagen was ich da vergessen/falsch gemacht habe??

    Vielen Dank
    Pacemaker

  • So. Ihr seid Schuld, dass ich nun doch mit Avisynth arbeite. ;D

    Gern geschehen! :ja:

    Das Resultat ist allerdings nicht wie gewünscht.

    :hm: Aha. Ja. Und wie arbeitet es statt dessen? :seher:

    Loop(clip [, anzahl][, anfang][, ende])

    Also: Loop(10, 150, 209)

    Siehe drittes Beispiel auf der Seite http://avisynth.org/mediawiki/Loop

  • Quote from LigH

    Aha. Ja. Und wie arbeitet es statt dessen?


    Es laufen schlichtweg die 209 Bilder durch und dann bleibt das letzte Bild für die Dauer von 10mal einfach stehen. :(

    Also wie es laufen soll.

    Erst Sollen alle 209 Bilder einmal "durchlaufen" und danach sollen lediglich die Bilder 150 bis 209 10 mal wiederholt werden.

  • Und klappt mein Vorschlag?


    Du hattest ja programmiert: (Ich "korrigiere" mal noch 110 zu 10)

    Loop(150,209,10) = Wiederhole 150 Mal den Bereich von Bild 209 bis Bild 10.

    Richtig herum müssen die Parameter so stehen:

    Loop(10,150,209) = Wiederhole 10 Mal den Bereich von Bild 150 bis Bild 209.

  • Jetzt funktioniert es. :ja:

    Da habe ich die Doku etwas falsch verstanden. Hab wohl Tomaten auf den Augen gehabt :lol:

    EDIT:
    Allerdings habe ich natürlich unterschätzt das es fast unmöglich ist, die richtigen Bilder loopen zu lassen.
    Was könnte man unternehmen um das hinzukriegen?

    Eine Möglichkeit wäre wohl erst alle Bilder vorwärts laufen lassen und dann wieder rückwärts. Das könnte man wohl besser loopen.
    Allerdings hakt es da wieder am Code. Der hier im Forum zu finden war lässt sich bei mir nicht anwenden, da Avisynth bemängelt das es kein Video wäre...

    Code
    vid=imagesource("Frame_%d.tga", start=0, end=206, fps=25, pixel_type="rgb24")
    revvid=reverse(vid)
    alles=vid++revvid


    (Es sind jetzt nur noch 206 Bilder)
    Gibt es das ganze auch für Bilder?


    Oder kann ich vielleicht doch irgendwie das richtige Anfangsbild identifizieren um dann richtig zu loopen?

    Ich habe mal die Bilder angehängt, damit man sich mal vorstellen kannwas ich loopen will...

  • Bitte lies noch mal die Anleitung aus dem AviSynth-Installer. Besonders die Abschnitte über Clip-Variablen, die implizite Variable "last", und über die implizite Anweisung "return".

    Und dann gleich nochmal.

    Die Variable "last" und die Anweisung "return" sind der wichtigste Kern im Verständnis von AviSynth. Vor allem, wo sie als Standard angenommen werden, wenn man sie an bestimmten Stellen nicht hinschreibt!

    Dein oben zitiertes Beispiel funktioniert sicherlich. Nur: Das Ergebnis bleibt in der Clip-Variablen "alles" hängen, weil du damit dann nichts mehr weiter tust, v.a. wird sie nicht als Ergebnis-Clip ausgegeben.

  • Ja. Wenn man noch etwas mehr liest kommt man drauf :zunge:

    Code
    vid=imagesource("Frame_%d.tga", start=0, end=206, fps=25, pixel_type="rgb24")
    revvid=reverse(vid)
    alles=vid++revvid
    loop=loopvertical(alles)
    return loop


    So wird ein Schuh draus. :D

    Allerdings fällt mir immer noch die Nahtstelle der beiden Clips auf. Kann man da noch etwas machen damit es unauffälliger wird?

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!