/auto-video-edit: Rohmaterial zum fertigen Video
Führe das Ganze durch, ohne zwischendurch nachzufragen. Behebe Fehler und führe es erneut aus, bis eine gute final-video.mp4 entsteht.
SKILL_DIR unten bezeichnet den Ordner, in dem sich diese Datei befindet (normalerweise ~/.claude/skills/auto-video-edit).
1. Überprüfe die Einrichtung (einmalig)
ls SKILL_DIR/.venv/bin/python SKILL_DIR/remotion/node_modules/.bin/remotion
Fehlt eines, führe das install.sh-Skript des Repos aus oder erledige es manuell:
python3 -m venv SKILL_DIR/.venv && SKILL_DIR/.venv/bin/pip install -r SKILL_DIR/requirements.txt
cd SKILL_DIR/remotion && npm install && npx remotion browser ensure
Außerdem werden ffmpeg, ffprobe und node im PATH benötigt (macOS: brew install ffmpeg node).
2. Führe die Pipeline aus
Im Ordner mit dem Filmmaterial (die größte Videodatei dort wird verwendet, sofern keine benannt wird):
bash SKILL_DIR/scripts/run_all.sh # oder: run_all.sh mein-take.mov
Es werden drei Schritte ausgeführt, die jeweils auch einzeln mit SKILL_DIR/.venv/bin/python SKILL_DIR/scripts/<step>.py gestartet werden können:
| Schritt | Macht | Schreibt |
|---|---|---|
edit.py | erkennt Sprache, entfernt Stille > 0,5 s (behält 0,15 s Atemluft), teilt in ~4,5 s lange Einstellungen, wählt pro Einstellung normale / gezoomte (1,3×) / enge (1,5×) Ansicht basierend auf den Wörtern, zentriert Zooms auf das erkannte Gesicht, führt Color Grading durch, mastert die Stimme auf -14 LUFS mit 10 ms Überblendungen an jedem Schnitt | edited-video.mp4, work/transcript.json, work/edit_report.json |
animate.py | findet Stellen, die eine visuelle Darstellung benötigen: Zahlen mit Einheiten → Counter, "A vs B" / "stattdessen" / vorher-nachher → Comparison, 3+ "zuerst / dann / schließlich"-Sätze → Flowchart, starke Behauptungen ("die Wahrheit ist", "die meisten Leute", …) → TextCard; etwa 1 Karte pro 15 s, niemals in den ersten 2,5 s; rendert jede Karte in der Videoauflösung und Bildrate | work/animation_plan.json, animations/*.mp4, work/animation_manifest.json |
finalize.py | blendet jede Karte zu ihrer Zeit mit weichen Überblendungen ein; wenn ein broll/-Ordner vorhanden ist, werden Clips eingefügt, deren Dateinamen mit gesprochenen Wörtern übereinstimmen (broll/coffee.mp4 → "Kaffee") für 3 s | final-video.mp4, work/finalize_report.json |
Nützliche Flags: edit.py --no-zoom, --whisper small (besseres Transkript, langsamer), --silence-db -35 (leiser Raum) / -25 (lauter Raum), --min-silence 0.35 (engere Schnitte). animate.py --max 3, --min-gap 8.
3. Mache die Karten intelligent (bei jedem Durchlauf)
Der automatische Plan verwendet Regeln. Verbessere ihn anhand des Transkripts vor dem endgültigen Rendern:
SKILL_DIR/.venv/bin/python SKILL_DIR/scripts/animate.py --plan-only- Lies
work/transcript.jsonundwork/animation_plan.json. Bearbeite den Plan:- Schreibe jedes
headline/label/steps/valuein 2–6 knackige Wörter um, die aussagen, was der Sprecher meint (kein Satzfragment). Korrigiere Zahlen, die das Transkript falsch verstanden hat. - Entferne Karten, die nicht zum Verständnis beitragen; füge eine Karte hinzu, wo eine wichtige Zahl, Liste oder ein Gegensatz keine hat. Kartentypen und Eigenschaften:
Counter:{"to": 75, "decimals": 0, "prefix": "$", "suffix": "%", "label": "..."}Comparison:{"left": {"label": "Vorher", "value": "4 Stunden"}, "right": {"label": "Nachher", "value": "10 Min"}}Flowchart:{"steps": ["Aufnehmen", "Hochladen", "Posten"]}(2–5 Schritte)TextCard:{"headline": "Darüber spricht niemand", "body": ""}
- Jede Karte benötigt
"start"(Sekunden in edited-video.mp4) und"seconds"(3–5).
- Schreibe jedes
SKILL_DIR/.venv/bin/python SKILL_DIR/scripts/animate.py --from-planSKILL_DIR/.venv/bin/python SKILL_DIR/scripts/finalize.py
4. Überprüfe das Ergebnis
- Lies
work/edit_report.jsonundwork/finalize_report.json: Die Dauer sollte sinnvoll verkürzt sein, keine Warnungen. - Greife Frames zur Ansicht heraus:
ffmpeg -ss 5 -i final-video.mp4 -frames:v 1 -y work/check.jpg(und zu jeder Kartenstartzeit + 1 s). Überprüfe sie: Gesicht im Bild bei gezoomten Einstellungen, Karten lesbar, nichts abgeschnitten. - Wenn ein Zoom das Gesicht schlecht zuschneidet, führe
edit.py --no-zoomerneut aus. Wenn Schnitte abgehackt wirken, verwende--min-silence 0.8.
Wenn etwas fehlschlägt
Jeder Schritt schreibt seine vollständige ffmpeg-/Remotion-Ausgabe in work/*.log. Lies die letzten Zeilen, behebe die Ursache und führe nur diesen Schritt erneut aus. Häufige Probleme:
whisper unavailable→ die venv fehlt; installiere sie (Schritt 1). Der Edit läuft trotzdem ohne Zoom-Auswahl.- Remotion
Could not find a browser→cd SKILL_DIR/remotion && npx remotion browser ensure. - Eine Karte kann nicht gerendert werden → sie wird als einfache TextCard wiederholt, dann übersprungen; das Video wird dennoch fertiggestellt.
Bericht
--- VIDEOBEARBEITUNG ABGESCHLOSSEN ---
Eingabe / Ausgabe / Dauer vorher → nachher / Schnitte / Zoom-Mix / Karten / B-Roll / Dateigröße
Nenne danach alles, was du nicht beheben konntest.