After Effects: Cuts auf den Beat / Scripting

Bright0001

Captain
Registriert
Juli 2011
Beiträge
3.425
Moin,

ich will folgendes Projekt umsetzen: Ich habe ein Video und ein Musikstück, und möchte (viele) Cuts präzise auf den Beat hinbekommen. Sprich bei jedem Beat "springt" das Video zur nächsten Stelle. Ich hab so etwas schon mal händisch gemacht, und buchstäblich hunderte Einzelclips geschnitten und manuell auf Beats gesetzt, aber es war halt eine Plackerei sondergleichen (in Premiere).

Diesmal will ich etwas smarter sein, folgendes ist der aktuelle Plan:
  1. Beats/Timestamps aus dem Musikstück mit externem Tool extrahieren
  2. Marker/Timestamps/(Frame-Nummern?) fürs Video erstellen, die den nächsten Punkt für den Cut angeben
  3. Für jeden Marker einen neuen Layer (mit der gleichen Videospur) generieren, dazu
    • Den Layer im beat[x] bis beat[x+1] einblenden
    • Einen Offset berechnen und setzen, damit die korrekte Stelle spielt
      • Bspw. Liedstelle ist 10s, Videostelle ist 30s -> Video-Offset ist -20s
Dazu hätte ich folgende Fragen:
  • Ist der Workflow als ganzes sinnvoll?
  • Kann ich die Marker für 2. auch direkt in AE setzen und exportieren/direkt dort nutzen?
  • Wenn ich es richtig verstehe, dann kann ich sowohl per externem Script ein ganzes Projekt aufsetzen, als auch Logik innerhalb von AE direkt laufen lassen - Gibt es eine Seite, die ich präferieren sollte, oder brauche am Ende sowieso beides?
  • Benutzt ihr fürs AE-JSX eine normale IDE a la WebStorm oder was spezifisches?
Ich hab Erfahrung mit PS und AI, und bin auch normaler Dev - starte also nicht auf grüner Wiese. LLMs sind da auch ganz hilfreich, aber wollte dann doch noch mal nach echter Erfahrung fragen, falls diese hier im Forum vorhanden ist. Bin dementsprechend auch für alle sonstigen Hinweise und Ratschläge dankbar, selbst wenn nicht explizit aufgeführt :D
 
Vor Jahren als ich noch Magic videodeluxe brauchte, gab es genau so eine Funktion „Clips nach beat schneiden“, war zuverlässig. Ob das in der neusten Version noch gibt?
Schau mal in den addons für Premiere/ae ob sich sowas implementieren lässt. Bestimmt hat jemand sowas schon programmiert
 
Bright0001 schrieb:
Beats/Timestamps aus dem Musikstück mit externem Tool extrahieren
Also normal hast du "Tempo" also meistens Beats pers Minute - BPM

Bei bekannten liedern kannst du es zb hier nachsehen: https://songbpm.com/ ansonsten lässt es sich auch "Tappen"

Einige DAWs können autotempo nach import einer audiodatei.
 
@chrigu Naja, für die Spielerei würde ich mir jetzt nicht auch noch Magic zusätzlich zur CSuite holen. :D

@netzgestaltung Der Audiopart war der triviale Teil in der Kette, da ich da schon anderweitig Erfahrung hab. :schluck:

Konkret hab ich die BPM per drei Klicks per ArrowVortex bestimmt;

2026-02-07_12h08_52.png


Und dann konkrete Timings in Excel per Offset+<#-Beat>/180 ausgerechnet.
 
Nur als Doku für die Nachwelt, hier der Workflow den ich vorerst nutzen werde:

Audio
  • Mit ArrowVortex die BPM und den Offset bestimmen
  • Mit Audacity am Anfang des Stücks Stille einfügen, damit die Beats auf die "korrekten" Zeitpunkte fallen, Beispiel:
    • BPM 180 -> 0,33s zwischen den Beats
    • Offset: -0,2s
      • Heißt: Der erste Takt beginnt nicht auf 0,33s sondern auf 0,13s
    • Mit Audacity 0,2s Stille einfügen, damit es wirklich auf 0,33s losgeht
Video
  • After Effects bzw. das Video auf eine fps-Zahl einstellen, sodass die BPM ein ganzes Vielfaches davon sind, Beispiel:
    • Ausgangsvideo: 24fps
    • 180 / 24 = 7,5 -> Nope
    • 180 / 30 = 6 -> Yes
  • Die Beats und die Frames sind dadurch von vornherein synchron
    • 30fps -> 1s / 30 = 0,033s pro Frame
    • 180 BPM -> 60s / 180 = 0,33s pro Beat
    • Ergo: Jeder Beat dauert exakt 10 frames
After Effects
  • Videospur hinzufügen
  • Per Strg+Pfeiltasten navigieren
  • Bei jeder passenden Stelle per Strg+Shift+D einen Schnitt und neue Spur erstellen lassen
  • Am Ende alle Video-Spuren auswählen und:
    • Mit dem Mover-Plugin linksbündig anordnen, im Anschluss
    • mit gleichem Plugin die Abstände zwischen den Spuren erhöhen, bis jede Spur bspw. 10 Frames nach der vorherigen startet
  • Ggf. manuell nachjustieren
Fertig :schluck:

Und bezüglich der Geschichte mit den Beats und den Markern:
  • Es gibt Scripts um Marker zu generieren, die haben aber allesamt nicht sauber funktioniert
  • Gibt ebenfalls Scripts um Marker direkt von der Audiospur zu erstellen - leider auch nur mäßig nützlich gewesen
  • Hab das Tool/Script Auto Beat Marker Pro um die Funktionalität erweitert die Beats direkt aus einer CSV auszulesen - werde da noch einen Merge-Request erstellen, damit das allen zur Verfügung steht
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: netzgestaltung
Zurück
Oben