Communitygithub.com

Professionelle Videobearbeitung

Bearbeite Videos wie ein Profi und füge Soundeffekte aus einer lokalen Soundbibliothek hinzu. Verwende es beim Schneiden, Tempogestaltung, Umstrukturieren, Überprüfen oder Exportieren von Videos; beim Wählen von Schnittpunkten; beim Hinzufügen, Synchronisieren oder Mischen von Soundeffekten (Whooshes, Impacts, Risers, UI-Sounds, Atmo); oder bei der Vorbereitung von Proxys, Farbe, Codecs und Lieferung.

Was ist Professionelle Videobearbeitung?

Diese Fähigkeit verwandelt die KI in einen professionellen Videoeditor und Sounddesigner, der vollständig über die Kommandozeile gesteuert wird. Sie besteht aus drei Teilen: redaktionellem Urteilsvermögen (Entscheidungen über Schnitte, die auf Emotion, Rhythmus und Erzählung basieren), dem `vedit`-Editor (ein vollwertiger Timeline-Editor für Schnitte, Titel, Übergänge, Farbkorrektur, Keyframes, Tracking, Masken, Stabilisierung, Captions und Soundeffekte) und einem Sound-Toolkit, das eine lokale Soundbibliothek durchsucht, indiziert und Soundeffekte framegenau auf das Video rendert. Die Fähigkeit unterstützt Python 3.9+, FFmpeg 5+ und benötigt keine weiteren Installationen. Sie gibt ehrlich Feedback zu ihren Einschränkungen (sie kann Audio nicht hören oder Video ansehen) und verlässt sich auf Messungen wie Transkripte, Szenen- und Stille-Erkennung. Anwender profitieren von einer bewährten redaktionellen Methodik (Schnitthierarchie, Blinzel-Timing) und einer präzisen Soundplatzierung mit regelbasierten Cue-Sheets. Die Fähigkeit ist für Claude Code, Cursor, Codex oder andere KI-Agenten konzipiert, die auf der Kommandozeile arbeiten.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Temka921/pro-video-editing/tree/HEAD

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht Professionelle Videobearbeitung?

Diese Fähigkeit besteht aus drei Teilen, die zusammenarbeiten:

  1. Redaktionelles Urteilsvermögen: Was, wo und warum geschnitten werden soll, damit das Ergebnis sich anfühlt, als wäre es von einer Person mit Geschmack gemacht und nicht von einer Maschine zusammengestellt.
  2. Der Editor (vedit): Ein kleiner Timeline-Editor, den du vollständig von der Kommandozeile aus bedienst. Schnitte, Titel, Überblendungen, Soundeffekte und Sprach-Presets laufen alle darüber, und die Person kann dasselbe Projekt in einem Browser öffnen.
  3. Sound-Tools: Indiziere eine Soundeffekt-Bibliothek, durchsuche sie und platziere Sounds so, dass der Einschlag auf dem exakten Frame landet.

Pfade unten sind relativ zum Ordner dieser Fähigkeit. Die Werkzeuge benötigen Python 3.9+ und FFmpeg 5+ (nichts weiter zu installieren).

Sei ehrlich, was du kannst und was nicht

  • Du kannst kein Audio hören oder Video ansehen. Beurteile durch Messung (Transkripte, Szenen- und Stille-Erkennung, scripts/qc_audio.py) und sage dies. Gib nach dem Rendern zwei oder drei Zeitstempel an, die der Benutzer akustisch überprüfen soll.
  • Erfinde niemals Sounddateinamen oder IDs. Verwende nur IDs, die von scripts/sfx_search.py zurückgegeben werden.
  • Wenn scripts/sfx_search.py --stats sagt, dass kein Katalog existiert, ist die Soundbibliothek noch nicht eingerichtet. Biete die untenstehende einmalige Einrichtung an und warte auf ein Ja, bevor du herunterlädst. Wenn der Benutzer ablehnt oder es fehlschlägt, erledige trotzdem die redaktionelle Arbeit und verweise auf references/sfx-library-setup.md. Lade niemals selbst eine andere Soundbibliothek herunter.

Kernprinzipien (die Kurzfassung)

Vollständiger Text mit Beispielen: references/editorial-principles.md. Lies ihn, bevor du schneidest oder einen Schnitt überprüfst.

  1. Emotion zuerst. Frage, was der Zuschauer an jeder Stelle fühlen soll. Wenn er es durchgängig fühlt, funktioniert der Schnitt.
  2. Schnitthierarchie. Wenn ein Schnitt nicht alles erfüllen kann, gib Elemente von unten nach oben dieser Liste auf: Emotion, Geschichte, Rhythmus, Blickführung, Ebenen, räumliche Kontinuität. Gib niemals ein höheres gegen ein niedrigeres Element ein.
  3. Schneide, wo ein Gedanke endet, in dem Moment, in dem ein Zuschauer blinzeln würde. Ein Schnittpunkt sollte ein möglicher Blinzelpunkt sein.
  4. Tue das Meiste mit dem Wenigsten. Andeutung schlägt Ausführung. Weniger, bessere Entscheidungen. Nicht zu schneiden ist auch eine Entscheidung.
  5. Beurteile nur, was auf dem Bildschirm ist. Ignoriere Aufwand, Kosten und Absicht.
  6. Lenke die Aufmerksamkeit fehl wie ein Zauberer: entscheide, wohin das Auge geht, und lass die nächste Einstellung es dort treffen.
  7. Diagnostiziere, bevor du reparierst. Ein Problem liegt oft früher, als wo die Zuschauer sagen, dass sie es gespürt haben.

Arbeitsablauf

PhaseWas zu tun istReferenz
1. AufnahmeBestätige das Lieferformat (Plattform, Seitenverhältnis, fps, Länge) und die Absicht in einem Satz.technical-pipeline.md
2. LoggenIndiziere alles Material: Transkript mit Wortzeiten, Einstellungstyp, Stille, beste Takes. Wähle ein repräsentatives Bild pro Aufnahme.editorial-principles.md
3. ZusammenbauBaue die Geschichte der Reihe nach mit dem besten Material auf. Struktur vor Feinschliff.editorial-principles.md
4. VerfeinernWende die Schnitthierarchie und das Blinzel-Timing an. Sieh dir nach dem ersten vollständigen Durchlauf verworfenes Material noch einmal an.editorial-principles.md
5. SoundPlatziere, suche, positioniere und mische Soundeffekte.sfx-placement.md
6. ÜberprüfungSieh dir das Ganze wie ein Zuschauer an. Führe das QC-Skript aus.unten
7. LieferungVerlinke auf volle Qualität, gleiche Farben/Level ab, exportiere zuerst ein Master.technical-pipeline.md

Wenn du Arbeit zurückgibst, nenne: die Absicht, auf die hin du geschnitten hast, die wichtigsten strukturellen Entscheidungen, was du entfernt hast und warum, bekannte Kompromisse und Alternativen, die einen Versuch wert sind.

Der Editor (vedit)

Verwende ihn, um den Schnitt tatsächlich zu machen. Lies zuerst references/editor.md; es enthält alle Befehle, das Projektformat und eine Arbeitsmethode. Das Wesentliche:

python3 editor/vedit.py new myfilm --size 1920x1080          # Ein Projektordner (verwende `python` unter Windows, wenn python3 fehlt)
python3 editor/vedit.py -p myfilm settings --preset vertical # Leinwand für das Ziel (Reels/TikTok/Shorts); auch --lufs -14
python3 editor/vedit.py -p myfilm analyze clip.mp4           # Stille und Szenenwechsel, um Schnitte zu wählen
python3 editor/vedit.py -p myfilm import clip.mp4            # Gibt eine Asset-ID wie a1 aus
python3 editor/vedit.py -p myfilm add a1 --in 12.5 --dur 8   # 8 s davon auf die Timeline setzen
python3 editor/vedit.py -p myfilm grade c1 --look cinematic  # Farbe; auch --brightness --contrast --saturation --temperature --lut FILE
python3 editor/vedit.py -p myfilm key c1 scale --at 0 --value 1; python3 editor/vedit.py -p myfilm key c1 scale --at 8 --value 1.15 --ease inout   # Langsamer Push-In
python3 editor/vedit.py -p myfilm transition c1 c2 --type dissolve --dur 0.5
python3 editor/vedit.py -p myfilm key c1 speed --at 0 --value 1   # Speed-Rampe: Füge weitere Keyframes auf `speed` hinzu (der eigene Sound des Clips wird stummgeschaltet); auch: reverse c1, freeze c1 --at 4 --dur 2
python3 editor/vedit.py -p myfilm tracker add c1 --at 4 --x 0.6 --y 0.3   # Einem Punkt folgen; dann: mask c1 --effect blur, follow c1 m1 t1 (ein Gesicht unkenntlich machen) oder attach c2 t1 (ein Titel folgt ihm)
python3 editor/vedit.py -p myfilm stabilize c1               # Kamerawackeln glätten (benötigt FFmpeg mit libvidstab)
python3 editor/vedit.py -p myfilm captions subtitles.srt     # Ein Text-Clip pro Untertitel
python3 editor/vedit.py -p myfilm sfx a3f9c012 --at 8.0      # Sound-ID von scripts/sfx_search.py; Einschlag landet bei 8,0 s
python3 editor/vedit.py -p myfilm set c1 preset="voice enhancer"
python3 editor/vedit.py -p myfilm check                      # Behebe jeden gemeldeten Fehler
python3 editor/vedit.py -p myfilm render --preview           # Schnell; dann `frame --at T` und das PNG ansehen
python3 editor/vedit.py -p myfilm measure --at 4             # Helligkeits-/Farbwerte, um Belichtung und Grading zu beurteilen
python3 editor/vedit.py -p myfilm serve                      # Die Person kann es im Browser öffnen und anpassen
  • Du hast die volle Kontrolle: Jeder Befehl gibt JSON aus, Fehler sind klar, batch wendet mehrere Bearbeitungen als eine Änderung an, und undo macht eine rückgängig. Keyframes können Zoom, Position, Rotation, Deckkraft, Farbe, Lautstärke und Geschwindigkeit animieren; editor.md listet den Rest auf (Masken, Tracking, Green Screen, Crop, Flip, Spur-Stummschaltung und -Ausblendung, Leinwand-Presets).
  • Sieh dir das Bild mit frame --at T an, anstatt zu raten, beurteile Farbe mit measure und beurteile Sound durch Messung, nicht indem du behauptest, dass er gut klingt.
  • Übe Zurückhaltung: ein sanfter Look, ein Übergangsstil, ein paar langsame Bewegungen. Wenn das Entfernen eines Effekts nichts verliert, entferne ihn.
  • Tracking und Masken werden gemessen, nicht gesehen: Überprüfe nach tracker add die Ausgabe found und sieh dir Frames mit frame --at T an. Tracking eignet sich für starre, texturierte Dinge mit einer stabilen Größe; es verliert Ziele, die sich drehen oder verstecken.
  • Die Person kann die Timeline im Browser ändern, während du arbeitest. Führe show aus, bevor du bearbeitest, nachdem sie gesagt hat, dass sie etwas geändert hat.
  • Sprach-Presets (phone call, deeper voice, robot voice, ...) stammen aus dem gebündelten Premiere .prfpset und können mit presets import FILE.prfpset aus jedem anderen extrahiert werden. Sie nähern Premiere-Effekte an; siehe references/voice-presets.md.
  • Wenn keine Soundbibliothek eingerichtet ist, schlägt sfx mit einer klaren Meldung fehl; biete die SFX-Einrichtung unten an.

SFX-Werkzeuge

Alle Skripte geben --help aus. Sie verwenden nur die Standardbibliothek und FFmpeg.

Einmalige Einrichtung. Die Fähigkeit enthält kein Audio, da die Lizenz der Sounds deren Weiterverbreitung verbietet. Die Standardbibliothek ist das kostenlose Sonniss GDC 2026 Game Audio Bundle, das vom eigenen Server von Sonniss heruntergeladen wird. Bevor du dies ausführst, informiere den Benutzer über die Größe (Teil 1 ist 1,3 GB mit 82 Sounds; alle 5 Teile sind 7,5 GB mit 347 Sounds) und die Lizenz in einem Satz (kostenlos für persönliche und kommerzielle Medienprojekte, keine Namensnennung erforderlich; kein Weiterverkauf oder Weiterverbreiten der Sounds; kein KI-Training), und hole sein Ja ein:

python3 scripts/setup_library.py --accept-license               # Teil 1
python3 scripts/setup_library.py --accept-license --parts all   # alles

Es speichert die Zips im Ordner library/ innerhalb dieser Fähigkeit, setzt unterbrochene Downloads fort, verwendet bereits vorhandene Teile wieder und erstellt dann den Katalog. Unter Windows verwende python, wenn python3 nicht gefunden wird.

Um stattdessen (oder zusätzlich) eigene Sounds des Benutzers zu verwenden, indiziere sie direkt (siehe references/sfx-library-setup.md):

python3 scripts/build_catalog.py /path/to/sounds.zip        # oder ein Ordner, oder ein Ordner mit Zips

Das Ergebnis ist in beiden Fällen ein reiner Textkatalog unter ~/.pro-video-editing/catalog.json. Er enthält kein Audio.

Pro Projekt:

python3 scripts/sfx_search.py --stats                       # Was verfügbar ist
python3 scripts/sfx_search.py "fast airy whoosh" --max-dur 1.5 --limit 8
python3 scripts/sfx_search.py "button click" --exclude ID1,ID2    # Wiederholung eines Takes vermeiden

python3 scripts/render_mix.py in.mp4 cues.json --check      # Das Cue-Blatt überprüfen
python3 scripts/render_mix.py in.mp4 cues.json -o out.mp4   # Rendern
python3 scripts/render_mix.py in.mp4 cues.json --sfx-only fx.wav   # SFX-Stem für eine DAW oder den Coloristen

python3 scripts/qc_audio.py out.mp4 --target -14            # Lautstärke- und True-Peak-Prüfung

Suchspalten der Ausgabe: id, Dauer, Kategorie, peak@ (wo der Sound einschlägt), Tags, Dateiname. Verwende peak@, um zu verstehen, was mit dem Schnitt übereinstimmt.

Cue-Blatt

{
  "default_gain_db": -9,
  "duck": true,
  "humanize": true,
  "cues": [
    {"id": "a3f9c012", "at": 2.50, "sync": "peak", "note": "Whoosh in die Titelcard"},
    {"id": "19be4d70", "at": 2.50, "gain_db": -12, "note": "Weiche Schicht darunter"}
  ]
}
  • at ist die Videozeit, an der der Sync-Punkt des Sounds landen muss. at_frame platziert nach Frame-Nummer.
  • sync: peak (Standard) landet den lautesten Moment, onset landet den Angriff, start landet das erste Sample. Das Werkzeug berechnet die Startzeit für dich, sodass der Einschlag framegenau ist, selbst wenn der Sound vor dem Schnitt beginnt.
  • Optional pro Cue: gain_db, fade_in, fade_out, trim_start, duration, pitch_semitones (innerhalb von 12), note.
  • duck senkt die Lautstärke von SFX unter dem Originalaudio (Dialog). humanize fügt winzige Lautstärke- und Tonhöhenvariationen hinzu, wenn derselbe Sound wiederholt wird.
  • Setze den Grund in note. Das macht das Blatt überprüfbar und hilft beim nächsten Schnitt.

--check meldet unbekannte IDs, Zeiten außerhalb des Videos, wiederholte Takes, überlagerte Layer und übermäßig volle Blätter. Behebe alles, was es meldet, bevor du renderst.

SFX-Regeln

Vollständige Anleitung mit einer Spotting-Methode: references/sfx-placement.md.

  • Spotte mit einem Grund. Jeder Sound muss der Emotion oder der Geschichte dienen. Wenn das Entfernen nichts verliert, entferne ihn.
  • Lass den Einschlag auf dem Schnitt oder der Bewegung landen, nicht in ihrer Nähe. Verwende sync: peak für Whooshes und Impacts.
  • Schichte leicht: maximal drei Sounds zu einem Zeitpunkt (z. B. Impact, Sub, Tail).
  • Variiere Takes. Verwende niemals denselben Sound zweimal hintereinander; verwende --exclude bei erneuter Suche.
  • Lass Stille. Eine Lücke vor einem Einschlag lässt den Einschlag härter wirken.
  • Halte Sprache klar. Lass duck eingeschaltet, wenn es Dialog gibt, und halte die Standardverstärkung bei -9 dB oder niedriger unter Sprache.
  • Dichte: Ungefähr 12 Cues pro 10 Sekunden ist bereits sehr voll. Ruhiges Material benötigt weit weniger.

Überprüfungsliste

Bevor du sagst, dass ein Schnitt fertig ist:

  • Jeder Schnitt besteht die Hierarchie, mit Emotion zuerst
  • Kein Schnitt existiert nur, um Tempo hinzuzufügen; Halte sind bewusst
  • Schnittpunkte liegen an Gedankengrenzen, nicht mitten im Gedanken
  • render_mix.py --check meldet keine Fehler, und Warnungen sind behoben oder gerechtfertigt
  • qc_audio.py zeigt True Peak bei oder unter -1 dBTP und Lautstärke nahe dem Ziel
  • Ausgabedauer, Bildgröße, Bildrate und Audio-Layout entsprechen der Liefervorgabe
  • Dem Benutzer wurden spezifische Zeitstempel zum Anhören gegeben

Referenzindex

  • references/editorial-principles.md: Die Philosophie, Schnitthierarchie, Blinzel-Timing, Dialog, Tempo, Diagnose von Problemen
  • references/editor.md: Die Befehle des Editors, Keyframes, Farbkorrektur, Übergänge, Untertitel, Lieferungseinstellungen, Projektformat, Arbeitsmethode für eine KI, Browser-Editor
  • references/voice-presets.md: Sprach-Presets, Extrahieren von Premiere .prfpset-Dateien, Genauigkeitsgrenzen
  • references/sfx-placement.md: Spotting-Methode, Sound-nach-Zweck-Anleitung, Pegel, Schichtung, Ducking
  • references/sfx-library-setup.md: Eine Bibliothek erhalten, den Katalog erstellen, Tags kuratieren, Lizenzierung
  • references/technical-pipeline.md: Medienorganisation, Proxys, Farbe, Codecs, Austausch, Export

Verwandte Skills