Dissolve: frame sizes don't match

  • Hallo,

    nachdem ich nun etwas mit avisyth rumexperimentiert habe (und begeistert bin von dem Programm) steh ich vor meinem ersten Problem:

    Ich möchte 34 Bilder mittels ImageReader() zu einem Film zusammensetzen und die Übergänge mittels Dissolve machen.

    Code
    video = Dissolve(\
    	  ImageReader(P_Bilder+"01.jpg",0,100,25),\
    	  ImageReader(P_Bilder+"02.jpg",0,100,25),\
    	  ImageReader(P_Bilder+"03.jpg",0,100,25),\
    	  ImageReader(P_Bilder+"03.jpg",0,100,25),\
    	  ImageReader(P_Bilder+"04.jpg",0,100,25),\
    	  ImageReader(P_Bilder+"05.jpg",0,100,25),\
    	10)

    Das klappt soweit auch alles ganz gut. Leider kommt, sobal ich mehr als die 5 Bilder aneinanderhängen möchte die Fehlermeldung:

    :mad: Dissolve: frame sizes don't match :nein:


    Woran liegt das bzw. wie kann ich die Bilder weiter aneinanderfügen ???

  • Bist du dir sicher , das alle Bilder die gleiche Größe haben ?

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

  • Indem du die Größe anpasst.
    Mit Lanczos4Resize und mit einem .
    Hochformat sagst du?
    Dann kannstes auch mit Avisynth drehen.

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

  • Solange das kein Crossposting zu http://forum.gleitz.info/showthread.php?t=24415&page=1&pp=10 wird widerhole ich noch einmal:

    Alle Bilder müssen das gleiche Format haben, bei 34 Bilder kann das langweilig werden, deswegen rentiert sich hier vielleicht schon eine Funktion

    Code
    function boxto43(clip in){#gibt 4/3 anamorph auf D1PAL zurueck  borders_h=Round(((in.height*1.333)-in.width)/2) #hier werden ganzzahlige borders berechnet,  borders_v=Round(((in.width*0.75)-in.height)/2)  #die aber auch negativ werden koennen!    borders_h = (borders_h<0) ? 0 : borders_h       #negative zahlen werden hier auf 0 gesetzt  borders_v = (borders_v<0) ? 0 : borders_v     in.AddBorders(borders_h,borders_v,borders_h,borders_v).LanczosResize(704,576)  Addborders(8,0,8,0)  return last  }

    Sähe bei Dir dann so aus:

    Code
    video = Dissolve(\
      ImageReader(P_Bilder+"01.jpg",0,0,25).boxto43().Loop(100),\
      ImageReader(P_Bilder+"02.jpg",0,0,25).boxto43().Loop(100),\
      ImageReader(P_Bilder+"03.jpg",0,0,25).boxto43().Loop(100),\
      ImageReader(P_Bilder+"03.jpg",0,0,25).boxto43().Loop(100),\
      ImageReader(P_Bilder+"04.jpg",0,0,25).boxto43().Loop(100),\
      ImageReader(P_Bilder+"05.jpg",0,0,25).boxto43().Loop(100),\
    10)

    Natürlich musst Du die Funktion auf Deine bevorzugten Einstellungen umändern.

    @Easter
    Drehen? Und den Fernseher dann wohl auch? :D

  • Zitat

    Ist es möglich, die Ränder, welche hinzugefügt werden, transparent zu machen

    Nein.

    Grün,Gelb,Blau,Pink,Grau.... aber nicht durchsichtig.

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

  • Irgendwie versteh ich die Frage nicht.

    Transparent? Willst du durchs Bild gucken und die Röhre des TVs bestaunen?

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

  • Achso!
    Ja , klar , das geht!

    Wie LigH schon sagte , mit Masken.

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

  • Zitat von matthiasb

    Frage: Welche VfW Codecs (mit Ausnahme von CorePNG) können einen Alphakanal mitspeichern?

    HuffYUV und LOCO können das auch.

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

  • Darum geht es aber eigentlich auch kaum: Das am Ende entstehende Video wird hier ja keine Transparenz mehr enthalten. Das Overlay der Einzelbilder (mit geringerer Fläche) soll teilweise transparent sein, damit ein Hintergrund auch noch durch Letterboxen durchscheint, insgesamt wird dann aber am Ende jeder Pixel deckend sein.

    Und ich kenne eigentlich keinen Player, der transparente Videos irgendwie sinnvoll darstellt, die meisten dürften "hinter dem Video" eine dunkle Fläche haben (z.B. die reservierte Overlay-Ersatz-Farbe).

  • Zitat von kostolany

    Ist es möglich, die Ränder, welche hinzugefügt werden, transparent zu machen. Ansonsten habe ich dort, wo Bilder im 4:3-Format das Hintergrundbild überdecken bei senkrechten Bildern schwarze Flächen.

    klar geht das: Transparente Overlays

    Leider ist das FinalScript bei meinem HD-Ausfall auch verloren gegangen, mal sehn, evt. schreib ich es neu...

  • Zitat von LigH

    Und ich kenne eigentlich keinen Player, der transparente Videos irgendwie sinnvoll darstellt, die meisten dürften "hinter dem Video" eine dunkle Fläche haben (z.B. die reservierte Overlay-Ersatz-Farbe).

    Ja, ist meist ein Dunkellila und sollte in anderen Andwendungen nicht zum Vorschein kommen, andernfalls wird sie sonst durch Video ersetzt.

    Ich meine echtes Alpha Blending, welches (nicht wie z.B. Bash unter X11) nur den Hintergrund zeigt, sondern alles was von Windows angezeigt wird, etwa Wallpaper, Desktopicons, andere Fenster, ...

    Bis jetzt nur beim Visualisation Studio unter Winamp gesichtet. :(

    @Easter
    Ich wollte nicht die Lossless ansprechen, die komprimieren nicht start genug. ;)

  • hier mal das matthiasb_boxto43_trans.avs

    Es lädt sogar Bilder mit unterschiedlicher Größe!
    Bitte die Pfade und Dateinamen anpassen.

    Bei meinen Bsp. lädt es die Bilder von Pfad\Bild01.jpg bis Pfad\Bild17.jpg

  • Da war vom Hintergrundbild im Video die Rede, nicht dem vom System. *aufderLeitunggestanden*
    So lässt sich das natürlich bewerkstelligen.

    katjarella
    Danke für das Aufbereiten, Ergänzen (und formatieren) des Skripts.

    Eine Frage hätte ich noch. Warum wird das Bild auf 688 letterboxed?
    Hier tritt ein AR-Fehler von 0,8% auf.
    Bei 704/702 hingegen nur von 0,285%
    [edit]Hab ganz vergessen dass das nicht auffällt...

    Oder wollte Kostolany links und rechts auch einen schönen Rahmen?

  • Ups... Du hast Recht matthiasb, wenn man Blockoverscan 1 haben möchte (wie oben), dann ändern auf: borders_h=Round(((in.height*1.3441) (habs gerade getestet)

    Edit: Anhang mit BorderXtrem + einer ge.Blur.ten AlphaMaske :)
    Gute Nacht.

Jetzt mitmachen!

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