meGui | Einzelne Clips überblenden

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • meGui | Einzelne Clips überblenden

    Anzeige
    Hallo liebe Community,

    ich wollte die meGui-Geeks unter euch mal fragen, ob es eine Möglichkeit gibt einzelne Avi-Clips in einer MKV Datei überzublenden. Zusammenführen tue ich die einzelnen Clips meistens mit dem entsprechenden Ergänzen der Dateipfade im Script:

    AVISource("G:\Fraps\Movies\1.avi", "G:\Fraps\Movies\2.avi", "G:\Fraps\Movies\3.avi", usw., audio=false)

    Dadurch ist der Übergang zwischen den einzelnen Clips aber immer so abrupt. Bietet MeGUI eine Möglichkeit diese Übergänge z.B. in schwarz aus- bzw. wiedereinzublenden oder solche "weichen" Übergänge einzufügen? Oder benötige ich hierfür Programme ala Sony Vegas / Adobe Premiere Pro?

    Ich meine, ich könnte mit MeGUI ja einfach einen 1-sekündigen schwarzen Videoclip dazwischen packen. Allerdings habe ich dann das Problem, das die Audiospur dann asynchron ist, weil zwischen den einzelnen Videos dann jeweils 1 Sekunde Audio fehlt. Heißt ich muss die eizelnen Audiostreams (aus den Clips) in Audacity zusammenschneiden und dann jeweils zwischen jeden Clip 1 Sekunde Pause einfügen, um anschließend im encodierten Video eine synchrone Audiospur zu haben.

    Das geht doch sicher irgendwie einfacher? :D

    Edit: Ich nutze übrigens Dxtory (Lagarith) und 2 Audiostreams (IGS & Voice)!

    Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von D4rkResistance ()

  • D4rkResistance schrieb:

    Dadurch ist der Übergang zwischen den einzelnen Clips aber immer so abrupt. Bietet MeGUI eine Möglichkeit diese Übergänge z.B. in schwarz aus- bzw. wiedereinzublenden oder solche "weichen" Übergänge einzufügen?

    Ja das geht über AVISynth. Allerdings müsstest du dir dann die entsprechenden Stellen wieder auftrennen um dort ein Fadeout zu gestalten.

    Entweder so: (Müsstest dann aber alles mit Trim wieder trennen)

    Quellcode

    1. v = AVISource("G:\Fraps\Movies\1.avi", "G:\Fraps\Movies\2.avi", "G:\Fraps\Movies\3.avi", usw., audio=false)
    2. v1 = v.Trim(0, 1000).FadeOut0(15)
    3. v2 = v.Trim(1001, 6003).Fadein0(15).FadeOut0(15)
    4. v3= v.Trim(6004, 8543).Fadein0(15)
    5. v1++v2++v3


    Oder so:

    Quellcode

    1. v1 = AVISource("G:\Fraps\Movies\1.avi", false).AssumeFPS(30, 1).FadeOut0(15)
    2. v2 = AVISource("G:\Fraps\Movies\2.avi", false).AssumeFPS(30, 1).Fadein0(15).FadeOut0(15)
    3. v3 = AVISource("G:\Fraps\Movies\3.avi", false).AssumeFPS(30, 1).Fadein0(15)
    4. v1++v2++v3


    Wobei ich kein Freund von diesen Fadein und Fadeout Freund des Standard Befehls in AVISynth bin ^^ Weil ich hab dafür meine eigene Funktion für die das macht.
    Aber so kannste das machen. Beim ersten haste das Problem das du die Cuts noch mal machen musst und die Punkte angeben musst wo diese sind.

    Julien schrieb:

    Ich glaube, Dissolve könnte da das Richtige für dich sein, aber die Experten können ja auch noch mal bessere Alternativen vorschlagen.

    KEIN Dissolve verwenden bitte. Führt unweigerlich zu Asynchronitäten, wenn das mit dem Audio nicht auch gemacht wird. Wenn Dissolve verwendet wird, muss Audio innerhalb des Skriptes auch geladen werden und auf die gleiche Weise behandelt werden. Weil Dissolve verkürzt die Videozeit für die Anzahl an Sek wo die Bilder überlagert werden.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Sagaras ()

  • Sagaras schrieb:


    Quellcode

    1. v1 = AVISource("G:\Fraps\Movies\1.avi", false).AssumeFPS(30, 1).FadeOut0(15)
    2. v2 = AVISource("G:\Fraps\Movies\2.avi"), false).AssumeFPS(30, 1).Fadein0(15).FadeOut0(15)
    3. v3 = AVISource("G:\Fraps\Movies\3.avi", false).AssumeFPS(30, 1).Fadein0(15)
    4. v1++v2++v3


    Könntest du auf die einzelnen Werte noch kurz eingehen?

    v1,2,3 = Fiktive Betitelung des Videoclips? Oder muss ich diese Bezeichnungen benutzen?

    Für was ist die letzte Zeile? Also dieses v1++v2++v3?

    Wofür steht die .Fadein0(15)? 15 FPS? Schnelligkeit des Aus- bzw. Einblendens?

    Wie müsste das Script aussehen, wenn ich nur folgende Clips überblenden möchte:

    1 -> 2
    2 -> 3
    5 -> 6
    7 -> 8

    Ist nur ein Beispiel damit ich alle möglichen Szenarios abgeklärt habe und entsprechend anwenden kann.

    Letzte Frage: Wie kann ich dir ein "Danke" auf deinen Post geben? ;)
  • Anzeige
    v1 bis v3 sind Variablen und dienen für spätere und vereinfachte Nutzungen innerhalb des Skriptes.

    Die letzte Zeile vereint alle Videos wieder miteinander, da sie ja davor getrennt waren.

    .Fadein0(15) und .Fadeout0(15) sind Ein und Ausblenden des gesamten Clips. Die 15 die da drin steht bedeutet das genau 15 Frames davon betroffen sind bei diesem Vorgang von Sichtbar zu Schwarz oder Schwarz zu Sichtbar. Das kannste dir dann selbst ausrechnen und diente nur als Beispiel.

    Bei 30FPS Videos willste z.B. eine 10 Sek Überblende machen. Bedeutet 5 Sekunden fürs ausblenden und 5 fürs einblenden.
    5 * 30 = 150 Frames

    Bedeutet um 10 Sekunden eine überblende zu gestalten muss der erste Clip ausgeblendet werden von 5 Sek mit Fadeout0(150).
    Beim zweiten Clip soll es eingeblendet werden 5 Sekunden, also Fadein0(150)
    Macht zusammen 300 Frames. Das sind 300 Frames / 30 FPS = 10 Sek

    Fertig.

    Das Szenario wiederholste jedesmal nach folgenden Muster:
    1 -> 2 Fadeout0(150)
    2 -> 3 Fadein0(150).Fadeout0(150)
    3 -> 4 Fadein0(150).Fadeout0(150)
    ...
    7 -> 8 Fadein0(150)

    D4rkResistance schrieb:

    Letzte Frage: Wie kann ich dir ein "Danke" auf deinen Post geben? ;)

    Nur wenn du Silbermitglied bist würde das gehen. Ansonsten... gern geschehen ^^


    EDIT:

    Wenn du aber zwei Clips überlagern willst als Übergangsblende, dann halt mit Dissolve. Aber dann muss im Skript auch Audio geladen werden, weil sich der Ton ja da auch überlagert.

    Quellcode

    1. v1 = AVISource("G:\Fraps\Movies\1.avi").AssumeFPS(30, 1)
    2. v2 = AVISource("G:\Fraps\Movies\2.avi").AssumeFPS(30, 1)
    3. v3 = AVISource("G:\Fraps\Movies\3.avi").AssumeFPS(30, 1)
    4. v1u2 = Dissolve(v1,v2, 300)
    5. Dissolve(v1u2, v3, 300)


    Das aber nur wie gesagt mit geladenen Sound im Skript. Ansonsten halt eben wie schon gesagte kann sowas zu Asynchronitäten kommen. Da sich ja die Zeiten tilgen wo zwei Clips sich überschneiden. Desshalb ist es unbedingt erforderlich das Audio mitgenommen wird dabei ^^

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Sagaras ()