Zwei Videos in einem Script + Bearbeitung?!

  • Hallo zusammen, ich hatte schon einmal diesen Thread erstellt.. doch scheinbar gibt es ihn leider nicht mehr...?!..

    Damals hatte mir glaube ich Selur einen Tipp gegeben..
    So jetzt nochmal meine Frage: Wie kann man 2 Videos in einem Script schreiben.. + das ganze noch zu bearbeiten?..
    Ich habe das so in der Art in Erinnerung (leider funktioniert es so nicht):

  • Hallo zusammen, ich hatte schon einmal diesen Thread erstellt.. doch scheinbar gibt es ihn leider nicht mehr...?!..


    Den Thread gibt's bestimmt noch, kann mich auch noch vage dran erinnern ... leider ist die Board-Suchmaschine nach der Umstellung noch nicht wieder so richtig in Form, deswegen finde ich ihn gerade auch nicht, so auf die Schnelle ...

    Jedenfalls, es ist recht einfach - schau mal:

  • Da sträuben sich mir die Nackenhaare beim Mehrfachbeladen von Variablen.

    Mehrere Befehle kann man per . konkatenieren:

    AVCSource("K:\Videos\Track1.dga").AssumeFPS(25.000, true).trim(457,134592).LanczosResize(720,576).Colormatrix()

    Quellen würde ich generell mit InputX initiieren, und erst dann im Script in Video bzw. Audio auflösen.

    Geschmackssache sicherlich, aber kann u.U. Ärger sparen.

  • Ja, sicher. Ich wollte vor allem das Prinzip "[neu] = [alt].Filter()" verdeutlichen. Übersichtlichkeit und verschiedene Möglichkeiten der Schreibweise bzw. Anordnung sind ne andere Geschichte, und eben auch eine Frage des Geschmacks oder der Gewohnheit.

    Jedenfalls, der Hinweis dass man alleFiltereinfachmitPunktineineZeilereinquetschenkann ist auch nicht unbedingt der bestmögliche ... es besteht die Gefahr, dass der geneigte Anfänger ein Skript sieht wie z.B.

    Mpeg2Source("sample.d2v")
    Merge(TemporalSoften(2,5,5),0.4)

    ... und schon ist das gegebene alles-in-eine-Zeile-Beispiel so gar nicht mehr möglich, und führt zur Bruchlandung.


    Es gibt nur eines was wirklich hilft: man muss das Prinzip der Avisynth-Syntax+Grammatik verstanden haben. Wenn dieses Verständnis erreicht wurde, ist alles einfach. Wenn dieses Verständnis noch fehlt, muss man es aufbauen. Ob punktierter Spaghetti-Code dafür der beste Weg ist ... bin ich mir nicht so sicher.

  • Der Spaghetti-Code hat mir zumindest dabei geholfen, bei einfachen Scripts zuordnen zu können, worauf sich welcher Filter auswirken wird.

    Aber wohl wahr, avisynth ist so flexibel, für jeden ist etwas dabei :D

    Und der eine lernt es besser so wie es der andere nicht verstehen würde ^^

  • Ich finde die oben genannte Lösung allerdings recht verständlich und werde auch dabei bleiben ;)
    Vorallem hat man so alles auf EINEM Blick.. und kann Zeile für Zeile runterlesen/schreiben.

    Code
    LoadPlugin("C:\Programme\AviSynth 2.5\plugins\ColorMatrix.dll")video1=DGDecode_mpeg2source("K:\Videos\VTS_01_1.d2v", info=3)video2=AVCSource("K:\Videos\Track1.dga")video1 = video1.trim(0,498)video2 = video2.AssumeFPS(25.000, true)video2 = video2.trim(457,134592)video2 = video2.LanczosResize(720,576) # Lanczos (Sharp)video2 = video2.Colormatrix()video1++video2

    Habe allerdings noch eine Frage.. und zwar wie sieht es aus, wenn ich zum Beispiel bestimmte Stellen von Video 2 haben möchte?..


    Das hier funktioniert ja dann nicht?!..

  • Neue Variablen einführen. :)

    Code
    video1 = video1.trim(0,498)
    video2 = video2.AssumeFPS(25.000, true)
    video2teil1 = video2.trim(457,9000)
    video2teil2 = video2.trim(10000,12000)
    video2 = video2teil1++video2teil2
    video2 = video2.LanczosResize(720,576) # Lanczos (Sharp)
    video2 = video2.Colormatrix()

    Cu Selur

Jetzt mitmachen!

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