Communitygithub.com

Videobearbeitung

Bearbeitet gefilmte Talking-Head-Aufnahmen in veröffentlichungsfertige vertikale Shorts (1080x1920) und 16:9 YouTube-Formate mit ffmpeg und Whisper. Liefert genau eine saubere Lesung jeder Skriptzeile (keine Stolperer, Neustarts oder Doppellesungen), hinterlässt nie eine flache Einzelaufnahme (Punch-Ins, Reframes, B-Roll, Bewegungsgrafiken), erstellt Untertitel aus der fertigen Audio, normalisiert die Lautstärke auf -14 LUFS, erstellt ein Cover aus einem echten Frame und führt eine Qualitätssicherung durch, die den Render neu transkribiert und die Auslieferung verweigert, bis dieser besteht. Synchronisiert zusätzliche Kameras per Ton und schreibt YouTube-Kapitel.

Was ist Videobearbeitung?

Dieses Skill wandelt rohes Talking-Head-Material in ein fertiges Video mit passenden SRT-Untertiteln und einem Cover um. Es nutzt ein gebündeltes Kommandozeilen-Tool (`vedit.py`), das auf ffmpeg, Whisper und Playwright basiert und die gesamte Bearbeitung übernimmt: Auswahl der sauberen Takes, sauberer Schnitt, Abwechslung der Einstellungen, Grafiken, B-Roll-Platzierung, Untertitel, Lautstärke, Cover und finale Qualitätssicherung. Es delegiert an die Skills `video-scripting` für Skript und Bearbeitungsnotizen, `brand/brand-profile.md` für Farben, Schriftarten und Compliance-Zeilen, `image-generation` für Standbilder, `review-loop` für die unabhängige Prüfung und `scheduling` für die Veröffentlichung. **Es wird nichts gepostet oder geplant.** Die Autoritätsreihenfolge lautet: **brand-profile.md hat Vorrang bei Markenkonstanten und Compliance-Formulierungen; dieses Skill besitzt die Methode.** Entwickler und Agenten-Nutzer sollten verstehen, dass das Skill eine vollständige, automatisierte Videobearbeitungspipeline von der Aufnahme bis zur Auslieferung bereitstellt, mit strengen Qualitätsprüfungen, die sicherstellen, dass jedes Video den professionellen Standards entspricht. Es unterstützt plattformübergreifende Veröffentlichung von Shorts und Langformaten.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/builtnotboosted/built-not-boosted-skills/tree/HEAD/plugins/built-not-boosted/skills/video-editing

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht Videobearbeitung?

Dieses Skill verwandelt rohes Talking-Head-Material in ein fertiges Video, eine passende SRT-Untertiteldatei und ein Cover. Es nutzt ein gebündeltes Kommandozeilen-Tool (vedit.py), das auf ffmpeg, Whisper und Playwright basiert. Es übernimmt die gesamte Bearbeitung: Auswahl der sauberen Takes, sauberer Schnitt, Abwechslung der Einstellungen, Grafiken und B-Roll-Platzierung, Untertitel, Lautstärke, das Cover und die finale Qualitätssicherung. Es delegiert an das Skill video-scripting für das Skript und die Bearbeitungsnotizen, an brand/brand-profile.md für Farben, Schriftarten und Compliance-Zeilen, an das Skill image-generation für Standbilder, an das Skill review-loop für die unabhängige Prüfung und an das Skill scheduling für die Veröffentlichung. Es wird nichts von hier aus gepostet oder geplant.

Autoritätsreihenfolge: brand-profile.md hat Vorrang bei Markenkonstanten und Compliance-Formulierungen; dieses Skill besitzt die Methode.

Bevor Sie beginnen

  1. Finden Sie den Marketing-Arbeitsbereich (Standard marketing/). Wenn es keinen gibt, sagen Sie dies in einem Satz und bieten Sie das Skill brand-setup an; das Tool funktioniert auch mit einem neutralen Look.
  2. Finden Sie den Ordner des Stücks, content/<yyyy-mm-dd>-<slug>/. Er sollte script.txt (ein gesprochener Satz pro Zeile; [Notizen in eckigen Klammern] und [KAPITEL N • Titel]-Markierungen werden nie gesprochen) und idealerweise edit-notes.txt (HOOK ON SCREEN:, COVER:, OUTCOME:-Zeilen) und sources.txt (die einzigen Zahlen, die auf dem Bildschirm erscheinen dürfen) enthalten. Wenn die Person ohne Skript gefilmt hat, transkribieren Sie zuerst und behandeln Sie das bereinigte Transkript als Skript.
  3. Lesen Sie ## Visuelle Identität, ## Compliance, ## Grenzen und ## CTA & Kontakt im Markenprofil sowie brand/voice-learnings.md für Wörter und Formulierungen für Grafiken und Cover.
  4. Überprüfen Sie, ob das Tool bereit ist: python3 <skill>/vedit.py doctor. Wenn etwas fehlt, führen Sie einmal bash <skill>/setup.sh aus (ffmpeg, Node, Python venv, Whisper, Playwright, Schriftarten). Whisper's großes Modell ist etwa 3 GB groß und transkribiert auf einem Laptop-CPU etwa ein- bis zweimal so lange wie die Clip-Länge. Starten Sie daher lange Schritte im Hintergrund.

Der Standard

  1. Eine saubere Lesung jeder Zeile. Das fertige Video enthält genau eine Lesung jeder Zeile: keine Neustarts, kein "der, der", kein Halbsatz aus einem abgebrochenen Take, keine abgeschnittenen Wortenden. Dies ist ein Blockierer, keine Politur. Ein einzelnes natürliches "ähm" darf bleiben (Menschen sollten wie sie selbst klingen), aber niemals in der Eröffnungszeile und niemals zwei in einer Zeile.
  2. Folgen Sie der gesprochenen Darbietung, nicht dem geschriebenen Skript. Menschen verbessern Zeilen, während sie sprechen. Eine live Umformulierung zeigt sich als fehlende oder schlecht abgedeckte Zeile im Take-Finder; es ist kein Fluff. Behalten Sie ihre Version, schneiden Sie nur echte Stolperer und Neustarts heraus und passen Sie alle Grafiken oder Hook-Karten, die vom Skript geschrieben wurden, an das tatsächlich Gesagte an.
  3. Behalten Sie die Beats, die das Geschäft verdienen. Wenn das Skript eine frühe "Wer ich bin"-Zeile oder einen abschließenden Call-to-Action enthält, bleibt er an seinem Platz.
  4. Niemals eine flache Einzelaufnahme. Wechseln Sie bei jedem Schnitt zwischen Weit- und Nahaufnahme, führen Sie Reframes innerhalb langer Lesungen durch, schneiden Sie zu B-Roll, erzählen Sie die Geschichte mit Bewegungsgrafiken. Der Talking-Head ist das Rückgrat, nicht das gesamte Video.
  5. Untertitel kommen aus der fertigen Audio, die anhand des Skripts überprüft wird, sodass sie genau dem Gehörten entsprechen. Bei Shorts eingebrannt; bei Langformaten nur SRT.
  6. Lautstärke -14 LUFS, True Peak -1,5 dB, damit es auf jeder Plattform richtig sitzt.
  7. Ein Cover aus einem echten Frame mit der Überschrift innerhalb des gittersicheren Quadrats, angeboten als eine oder zwei Varianten.
  8. Die Qualitätssicherung muss bestehen, bevor etwas ausgeliefert wird. Sie transkribiert den Render neu, hört sich jeden Schnitt einzeln an und prüft, ob jeder Schnitt in einer ruhigen Stelle landet. deliver verweigert ohne ein frisches BESTANDEN.
  9. Ehrlich zum Gehör. Claude kann nicht hören. Die Qualitätssicherung prüft Wörter und Energie, nicht den Ton, ein Husten unter einem Wort oder eine schlechte Raumton-Überblendung. Sagen Sie dies bei der Übergabe jedes Mal.

Die Methode

Jeder Befehl ist python3 <skill>/vedit.py <command> <slug>. Lesen Sie references/project-config.md, bevor Sie project.json von Hand bearbeiten.

  1. Sammeln Sie zuerst alles. Listen Sie jeden Clip im Batch auf. Paaren Sie zweite Kameras per Ton (scripts/sync_cams.py; ein echter Treffer erreicht etwa 0,4 bis 0,55, ein Nicht-Treffer etwa 0,03) und stumme Kameras wie Drohnen per Bewegung und Zeitstempel (scripts/sync_cams_visual.py). Erstellen Sie Kontaktabzüge von jedem Foto und kurzen Clip, notieren Sie, was als B-Roll verwendbar ist, und fragen Sie sofort nach jeder Kamera, die die Person erwähnt, die sich aber nicht im Ordner befindet. Öffnen Sie references/multicam-and-long-form.md für die Details.
  2. Init. vedit.py init <slug> --raw <cameraA clip> --pack <content folder> [--long] [--cam B=<clip>]. Es kopiert das Skript, liest die Bearbeitungsnotizen und ordnet die Farbpalette und Schriftarten des Markenprofils in project.json ein. Füllen Sie dann vocab mit jedem Eigennamen im Skript, einschließlich des eigenen Namens des Präsentators.
  3. Prep (langsam, Hintergrund): vedit.py prep <slug>. Hochformat-Master in der eigenen Bildrate der Kamera, 16-kHz-Audio, synchronisierte zusätzliche Kameras und zwei Transkripte (large-v3 wörtlich plus medium.en). Es stoppt bei HDR-Material, Material im falschen Format und Anrufqualitäts-Audio von einem Bluetooth-Mikrofon; references/audio-and-sync.md enthält den Rettungsweg.
  4. Takes. vedit.py takes <slug> richtet die Sprache am Skript aus wie ein Teleprompter: Ein Rücksprung ist ein Neustart, sodass jeder Versuch jeder Zeile zu einem bewerteten Take wird. Ein zweites Hören hört sich jeden Take einzeln erneut an, um Füllwörter, Wiederholungen und Doppellesungen zu finden. Lesen Sie picker/takes_report.txt. Überprüfen Sie dann, bevor Sie ihm vertrauen: Öffnen Sie references/whisper-pitfalls.md, da Whisper wiederholte Fehlstarts fallen lässt, Endwörter erfindet und ungewohnte Begriffe aufspaltet. Ein vorgeschlagener Neustart-Schnitt bleibt nur bestehen, wenn die Energiekarte keinen zweiten Sprachschub zeigt.
  5. Picks. Entweder wählt die Person im Browser aus (vedit.py picker <slug> im Hintergrund, dann öffnen Sie http://localhost:8765), oder, wenn sie Claude bittet, die Auswahl zu treffen, schreiben Sie picker/picks.json selbst mit einem note zu jeder Änderung gegenüber der maschinellen Auswahl. Teilen Sie ihnen mit, welche Zeilen rot oder gelb sind und warum. Bevorzugen Sie Lesungen aus demselben Durchlauf wie die benachbarten Zeilen: Sie fließen ohne Schnitt. Liefern Sie niemals aus maschinellen Auswahlen aus.
  6. Choreograph (Entwurfsarbeit, lesen Sie zuerst references/style-notes.md). Aus dem Skript, sources.txt und dem, was im Material ist: eine Hook-Karte auf Frame 0 aus edit_notes.hook_on_screen (3 bis 5 Wörter, ein Versprechen, nicht die Antwort); graphics.json-Karten für die Beats, die sie benötigen, mit nur Zahlen, die in sources.txt stehen; cues verankert an Zeilen oder gesprochenen Wörtern, niemals an festen Zeiten; motivierte B-Roll-Ausblendungen (auf das Wort, das sie illustrieren, oder direkt nach einem Blick oder einer Geste); framing.face_x/eye_y gemessen auf einem Frame; exit_tail für den Abgang. Vorschau der Grafiken als Standbilder mit vedit.py mg-preview <slug>.
  7. Build. vedit.py build <slug> plan ist sofort und druckt die Schnittzusammenfassung; build cues listet alle Cues auf, die es nicht platzieren konnte (beheben Sie sie, ignorieren Sie sie niemals). Iterieren Sie mit build cut plus scripts/cut_check.py, bis es sauber ist, erstellen Sie das Cover (Schritt 9), damit der Poster-Frame eingebacken wird, dann build all. Die Regeln, die der Build anwendet, stehen in references/edit-rules.md.
  8. Gate. vedit.py gate <slug>. Es schlägt fehl bei einer zweimal gelesenen Zeile, einem in der Länge belassenen Stolperer oder abgebrochenen Start, Sprach-Energie ohne Wörter (ein verstecktes erneutes Lesen), einer Wiederholung oder einem Sprung über einen Schnitt hinweg (von beiden Modellen einzeln gehört), verirrten Wörtern aus einem Fallenlassen-Take an einem Schnitt, einem Schnitt, der auf Ton landet, und (Multi-Kamera, falls eine gaze.json existiert) der falschen Kamera. Beheben Sie die Ursache, bauen Sie neu, wiederholen Sie die Qualitätssicherung. Dann der menschliche Stellvertreter-Durchlauf: Sehen Sie sich einen Kontaktabzug des Renders an, lesen Sie jeden Untertitel (vedit.py captions <slug>), und notieren Sie für jede geänderte Zeile, was da war und was beibehalten wird.
  9. Cover. vedit.py frames <slug> --every 5 für einen Kontaktabzug; wählen Sie einen Frame mit Augenkontakt, einem warmen Ausdruck (nicht mitten im Wort), scharfem Fokus und einem Requisit, das die Geschichte erzählt. Setzen Sie cover.frame und eine oder zwei variants (2 bis 4 Wörter, groß, ein Hervorhebungswort, schlicht und wahr), dann vedit.py cover <slug>. Es prüft jedes Textfeld gegen das gittersichere Quadrat und das Gesicht und schreibt grid_tiles.jpg, das zeigt, was das Profilraster zeigen wird.
  10. Review. Übergeben Sie den Kontaktabzug des Renders, die Cover, die SRT und die Schnittliste an das Skill review-loop. Zahlen auf dem Bildschirm werden gegen sources.txt geprüft, nicht auf Treu und Glauben.
  11. Deliver and release. vedit.py deliver <slug> schreibt das Video, die SRT, die Cover, die Schnittliste (jede Zeile: Take, Quellbereich, Schnitte, jede Änderung mit Grund), den Qualitätssicherungsbericht und, für Langformate, youtube-chapters.txt in content/<date>-<slug>/video/. vedit.py release <slug> --to <folder> kopiert das Video, die SRT und ein JPG-Thumbnail unter einem Dateinamen, was Scheduler und YouTube erwarten.

Prüfungen vor dem Versand

Die Übergabe an die Person enthält immer:

  • Qualitätssicherung BESTANDEN, frisch (neuer als der Render).
  • Lippen-Synchronisation gemessen am finalen Render: scripts/lipsync.py build/final.mp4 <t0> <t1> auf zwei oder drei Face-to-Camera-Abschnitten, jeder innerhalb von ±40 ms.
  • Untertitelprüfung gelesen (vedit.py captions <slug>, ausgeliefert als vN-caption-check.txt): die FIXes sehen vernünftig aus, und jedes CHECK ist als Zeile benannt, die die Person anhören soll.
  • Laufzeit und Lautstärke angegeben.
  • Jede Änderung an ihren Auswahlen, mit Grund, und die Zeilen, die es wert sind, angehört zu werden.
  • Cover A versus B, und die Gittermuster-Vorschau.
  • "Es wurde nichts gepostet oder geplant."
  • "Ich kann es nicht hören: Bitte hören Sie es sich an, bevor es rausgeht."

Anpassung

  • Kein Skript? Transkribieren Sie zuerst (prep erstellt beide Transkripte), bereinigen Sie das Transkript in einen Satz pro Zeile, speichern Sie es als script.txt, führen Sie dann takes aus.
  • Anderes Aussehen: Alles Visuelle liest project.json brand (Farben, Schriftarten) und cover.wordmark (ein optionales kleines Namensetikett). Ändern Sie es dort, niemals in den Skripten.
  • Andere Schreibweise: captions.locale en-GB (Standard) oder en-US.
  • Langsamerer Rechner: "whisper": {"large": "small.en", "medium": "base.en"} in project.json tauscht Genauigkeit gegen Geschwindigkeit; die Qualitätssicherung läuft trotzdem.
  • Reguliertes Unternehmen: Setzen Sie die erforderlichen Bildschirmtexte aus ## Compliance in eine Grafik oder die Endkarte und halten Sie jede Bildschirmzahl in sources.txt.
  • Neue Grafikvorlagen: Fügen Sie sie zu scripts/mg/kit.html hinzu und dokumentieren Sie sie in references/project-config.md.
  • Lernen: Wenn die Person einen Sprung oder eine Wiederholung meldet, den die Qualitätssicherung übersehen hat, notieren Sie den Fall, bevor Sie das Video reparieren, und fügen Sie, was Sie über ihren Bearbeitungsgeschmack gelernt haben, zu brand/performance-learnings.md hinzu. Die SRT wird aus ihrer eigenen Stimme transkribiert, sodass das Skill voice-loop daraus lernen kann.

Bekannte Lücken

  • Der Take-Finder kann einen Neustart übersehen, der die Formulierung stark ändert; die Regel zur erneuten Lesung in der Qualitätssicherung ist die Absicherung. Ändern Sie nach jedem Hand-Eingriff oder Schnitt build/edl.json und überprüfen Sie jede bearbeitete Naht.
  • Die Fremdwortprüfung vergleicht die Randwörter des beibehaltenen Takes textuell, sodass ein Wort aus einem abgebrochenen Take, das wie das erste Wort des beibehaltenen Takes klingt, als "Ad-lib"-Notiz durchgehen kann. Ordnen Sie jede solche Notiz manuell der Quellzeit durch build/edl.json zu.
  • Keine automatische Lippen-Synchronisationsprüfung in der Qualitätssicherung: Führen Sie lipsync.py auf jedem finalen Render aus.
  • Kameraentscheidungen bei Multi-Kamera-Aufnahmen erfolgen von Hand ("cam" in Picks), es sei denn, Sie liefern eine gaze.json; siehe references/multicam-and-long-form.md.
  • Wort-für-Wort-"Karaoke"-Untertitel werden nicht erstellt; bieten Sie sie als Idee an, wechseln Sie den Untertitelstil niemals ungefragt.

Dateien in diesem Skill

DateiÖffnen, wenn...
references/project-config.mdSie project.json, graphics.json, Cues, Cover-Varianten oder Picks bearbeiten
references/edit-rules.mdSie einen Schnitt, einen Untertitel, eine Grafik oder ein Cover beurteilen
references/whisper-pitfalls.mdSie Takes, Schnitte und Qualitätssicherungsnotizen überprüfen
references/style-notes.mdSie einen Schnitt choreographieren (Einstellungsvielfalt, Ausblendungen, Hook-Karte, Cover)
references/multicam-and-long-form.mdSie eine zweite Kamera, eine Drohne, ein 16:9-Langformat oder Kapitel haben
references/audio-and-sync.mdSie schlechtes Audio, verspätetes Audio, Hintergrundgeräusche oder Lautstärke haben
references/project-template.jsonDas Start-project.json
setup.sh, vedit.py doctorErster Lauf auf einem Rechner

Mehr erfahren

Ein ausführlicherer Leitfaden mit Beispielen befindet sich unter https://builtnotboosted.com/skills/video-editing

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

builtnotboosted/image-generation

Produces finished social images with any image model (Google Gemini image, "Nano Banana", as the worked example) - feed statics, carousel slides, short-form video covers, YouTube and article thumbnails, local listing cards and animated statics. Bakes the headline into the scene instead of pasting text on top, keeps text inside the profile-grid safe zone, locks the likeness of real people to their reference photos, hits exact platform sizes, writes alt text and re-judges every re-roll on the filed file. Use when someone says "make an image for this post", "create a thumbnail", "make a cover from my video", "design a carousel", "animate this static", "the image model won't do 4:5", "my headline is getting cut off in the grid", or when a content pack needs its visuals.

builtnotboosted/review-loop

The quality gate every piece of content passes before it is filed, scheduled or posted. Runs a self-critique, then an independent review by a fresh subagent that sees only the finished work and the criteria (never the builder's reasoning), then fix and re-judge until there is a clean pass. Covers what to do when a piece can't pass unattended (hold, flag, ship the rest). Use when someone says "review this", "check this before it goes out", "QA the pack", "is this ready to post", "get a second pair of eyes on this", "proofread the captions", or when any other Built Not Boosted skill hands work over for checks.

builtnotboosted/scheduling

Gets finished posts into a social media scheduler (or posted by hand) safely. Queue-only with explicit timezone offsets, live dedup against scheduled and already-published posts, media readiness checks, correct post types (shorts, reels, carousels, first comments, manual-posting reminders), alt text, a link gate that sends copy back for a rewrite rather than stripping it, and confirmation before anything goes live. Writes and keeps a scheduling manifest for each pack. Works with any scheduler; Publer is the worked example. Use when someone says "schedule this", "queue these posts", "put this in Publer", "book in this week's content", "post this on Tuesday at 7", "move that post", "what's already scheduled", or hands over a finished content pack to go out.

builtnotboosted/video-scripting

Writes video scripts that sound like the person who will say them, for shorts (Reels, TikTok, YouTube Shorts) and long-form YouTube. Warm hook rather than a shout, who-am-I and follow early, a retention shape that delays the answer, a soft earned close, length that follows the story, real-problem substance, reactive scripts for news and data releases. Output is teleprompter-ready (think-breaks, shot reminders) with short edit notes for the video-editing skill. Use when someone says "write me a script", "script a reel about", "I need a short on", "plan a YouTube video", "turn this post into a video", "react to today's news on video", "what should I say on camera", or before a filming session.

Verwandte Skills