deutsche Tonpsur über Video legen

  • Hallo,

    ich habe hier eine deutsche Tonspur die ich über ein Video legen will. Um das ganze synchron zu bekommen muss ich beide etwas anpassen, ich habe daher beides in ein Avisynth-Skript geladen. Dabei stoße ich auf ein paar Probleme. Ich muss sowohl die Ton- als auch die Videospur etwas trimmen da beide Teile beinhalten die es im anderen nicht gibt. Das geht aber nur bedingt. Wenn ich das hier nehme:

    Code
    v = ffvideosource("video.mkv",threads=1)a = ffaudiosource("audio.ac3")audiodub(v,a)

    Würde ich Video und Audio gleich an 2 Stellen trimmen würde ich jetzt "trim(1,100) + trim(1000,2000)" in die Zeile 4 schreiben. Ich kann zwar 1x trim anfügen ("ffvideosource("video.mkv",threads=1).trim(1,100)"), aber nicht 2x mit einem + dazwischen. Wie müsste ich hier vorgehen? Beim Audio schneiden ähnlich. Avisynth verweigert hier den Dienst, da kein Video geladen wurde. Nehme ich 2 getrennte Skripte, schneide dort und erstelle dann ein 3. Skript mit

    Code
    v = import("01.avs")
    a = import("02.avs")
    audiodub(v,a)

    lädt er mir das falsche Video. Er kann offensichtlich nicht unterscheiden was hier als Video und was als Audio geladen werden soll.

    Ich muss die Audiospur noch auf die 23.976 des Videos anpassen. Mir ist schon klar, dass es bei Audio keine Framerate gibts, k.A. wie ich es sonst beschreiben soll. Würde es in 2 getrennten Skripten gehen, könnte man das ganze Video mit AssumeFPS(24000,1001,sync_audio=true) ändern und dann den auch geänderten Ton importieren - geht ja aber nicht. AssumeFPS() nur auf die Tonspur anwenden wenn ich sie mittels ffms2 lade geht auch nicht da das Video fehlt.

    Lösung 1: Ich kann mehrere trim() an die Importgilter anhängen und den Ton anpassen.
    Lösung 2: Ich mache die Änderungen in einzelnen Skripten und imporuiere die in ein 3.

    Jemand eine Idee?

    nel-son

    _________________________

    Zitat

    Zieht ein Bienenschwarm aus, so wird er herrenlos, wenn nicht der Eigentümer ihn unverzüglich verfolgt oder wenn der Eigentümer die Verfolgung aufgibt.


    § 961 BGB [Eigentumsverlust bei Bienenschwärmen]

    :D

  • Import() ist keine Funktion, die einen Clip zurückgäbe. Es ist ein Statement, welches das gesamte Skript ausführt. Wenn du etwas aus einem importierten Skript einer Variablen zuweisen willst, müsstest du das eventuell in einer Funktion unterbringen, oder du arbeitest überall ausführlich mit Variablen und vermeidest implizite Aufrufe (die alles an "last" übergeben).

    So wie ich das sehe, musst du keine Imports aus anderen Skripten verwenden. Du musst nur in deinem ersten Beispiel mit den Trim-Befehlen die Clips v und a voneinander unabhängig bearbeiten, bevor du deren Zwischenergebnisse am Ende mit AudioDub() verknüpfst.

    Es kann dabei eventuell notwendig sein, dass du dem Audio-Clip a trotzdem eine Pro-Forma-Videospur gibst, da manche AviSynth-Funktionen mit Clips ohne Videospur nicht gern zusammenarbeiten. Dazu eignet sich {verkürzt!} AudioDub(BlankClip(v), a), um eine schwarze Videospur mit möglichst allen Eigenschaften des Videoclips v zu erzeugen, aber möglicherweise musst du doch noch ein paar Eigenschaften angeben, z.B. um die Videospur gleich auf die Länge des Audioclips zu bringen (was ja davon abhängt, welche Framerate der hat).

  • Alles klar, hab es hinbekommen, Danke. Auf die Idee die einzelnen "trims" einzeln zu behandeln bin ich nicht gekommen.

    _________________________

    Zitat

    Zieht ein Bienenschwarm aus, so wird er herrenlos, wenn nicht der Eigentümer ihn unverzüglich verfolgt oder wenn der Eigentümer die Verfolgung aufgibt.


    § 961 BGB [Eigentumsverlust bei Bienenschwärmen]

    :D

Jetzt mitmachen!

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