Communitygithub.com

Stille-Schneiden (Pipeline Agent 1)

Entfernt Stille und tote Luft aus Talking-Head-Aufnahmen auf Basis eines Wort-Transkripts. Erzeugt eine Edit Decision List (EDL), ein neu getimtes Transkript und optional das geschnittene Video mittels ffmpeg.

Was ist Stille-Schneiden (Pipeline Agent 1)?

Dieser Skill ist der erste Schritt einer automatisierten Videobearbeitungspipeline. Er nimmt eine Rohaufnahme und ihr Wort-für-Wort-Transkript und entfernt ausschließlich Stille: tote Luft vor dem ersten Wort und nach dem letzten Wort sowie Wortpausen, die länger als ein konfigurierbarer Schwellenwert sind. Die entfernten Pausen werden auf einen natürlichen Atemzug gekürzt, sodass ein flüssiger, aber straffer Sprachrhythmus erhalten bleibt. Im Gegensatz zu einem nachgelagerten 'cut-mistakes' Agenten werden keine Stotterer, Falschantworten oder Wiederholungen entfernt. Der Skill ist deterministisch und transkriptbasiert, sodass seine Ausgaben (EDL, neu getimtes Transkript) nahtlos an die nächsten Pipeline-Schritte und Validierungstools übergeben werden können. Unterstützt werden ElevenLabs Scribe und generische Transkriptformate. Die Videobearbeitung erfolgt wahlweise lokal mit ffmpeg, wobei die Audio- und Videospuren synchron bleiben.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/zroeschen/Video-Production-Factory/tree/HEAD/.agents/skills/cut-silences

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht Stille-Schneiden (Pipeline Agent 1)?

Erster Schritt der automatisierten Bearbeitung. Nimmt eine Rohaufnahme und ihr Wort-für-Wort-Transkript und entfernt nur Stille: tote Luft vor dem ersten Wort und nach dem letzten Wort, sowie Wortpausen länger als ein Schwellenwert (gekürzt auf einen natürlichen Atemzug, nie auf eine harte Lücke). Es lässt die Wörter des Sprechers unberührt – Fehlstarts, Neuaufnahmen und Stotterer sind die Aufgabe des cut-mistakes Agenten (Agent 2).

Dieser Agent ist deterministisch und transkriptgesteuert, sodass seine Ausgabe (*.silence-transcript.json) sauber an die nächsten Agenten und den Beat-Sync-Validator übergeben werden kann.

Wann verwenden

  • "Schneide die Stille heraus", "Kürze die Pausen", "Entferne tote Luft", "Straffe das Tempo"
  • Als erste Stufe des Master-Edit-Workflows, direkt nach der Transkription.

Voraussetzungen

Ein Wort-für-Wort-Transkript als JSON. Entweder im ElevenLabs Scribe Format ({ words: [{ text, start, end, type }], audio_duration_secs }) oder einem generischen { words: [{ text, start, end }] }. Erzeugen Sie eines mit dem Workspace-Transkriptor:

node scripts/transcribe-elevenlabs.mjs path/to/raw.mp4    # -> path/to/raw.json

Verwendung

# 1) Nur Planung – Schnitt berechnen, EDL + neu getimtes Transkript schreiben (kein Video bearbeitet)
node .agents/skills/cut-silences/scripts/cut-silences.mjs <transkript.json> \
  --out-dir video-projects/<slug>/assets

# 2) Mit einem Video – auch den ffmpeg-Befehl schreiben (noch keine Ausführung)
node .agents/skills/cut-silences/scripts/cut-silences.mjs <transkript.json> \
  --video video-projects/<slug>/assets/raw.mp4 --out-dir video-projects/<slug>/assets

# 3) Das geschnittene Video rendern (lokales ffmpeg, Neuencodierung, A/V synchron halten)
#    --apply hinzufügen, um ffmpeg tatsächlich auszuführen
node .agents/skills/cut-silences/scripts/cut-silences.mjs <transkript.json> \
  --video video-projects/<slug>/assets/raw.mp4 --apply \
  --output video-projects/<slug>/assets/edited-silenced.mp4

Optionen

FlagStandardBedeutung
--video <pfad>—Quellvideo; aktiviert den ffmpeg-Befehl / Render
--out-dir <verz>neben dem TranskriptAusgabeverzeichnis für die Ergebnisse
--output <pfad><video-stem>.silenced.mp4Pfad für das geschnittene Video
--gap <s>0.55Minimale Pause, die als entfernbare Stille gilt
--head-pad <s>0.22Stille, die vor dem ersten Wort erhalten bleibt
--tail-pad <s>0.34Stille, die nach dem letzten Wort erhalten bleibt
--applyausFührt ffmpeg tatsächlich aus, um den Schnitt zu rendern

Entscheidungslogik (Die Stille-Regeln)

  • Pausen unter --gap (0,55s) werden belassen – natürlicher Sprechrhythmus.
  • Bei einer gekürzten Pause wird ein natürlicher Atemzug erhalten, skaliert nach Kontext: 0,24s für lange Pausen (≥2s), 0,20s nach einem Satzende (. ! ?), andernfalls 0,14s. Der erhaltene Atemzug ist leicht zum Ende der vorherigen Phrase hin tendiert.
  • Tote Luft am Anfang/Ende wird auf --head-pad / --tail-pad gekürzt.
  • Entfernungsbereiche werden zusammengeführt; Behaltensbereiche sind das Komplement. Der Schnitt wird mit einem ffmpeg trim/atrim + concat Filtergraph gerendert (geschrieben in eine *.silence-filter.txt Datei und über -filter_complex übergeben), sodass Video und Audio synchron bleiben.

Ausgaben (geschrieben in --out-dir)

DateiZweck
<stem>.silence-edl.jsonSchnitt-/Behaltensbereiche, Dauern, Parameter – die Edit Decision List
<stem>.silence-transcript.jsonWörter neu getimt auf die bearbeitete Zeitleiste (füttert Agent 2 + Beats)
<stem>.silence-decisions.mdFür Menschen lesbare Zusammenfassung + größte gekürzte Pausen
<stem>.silence-filter.txtDer ffmpeg Filtergraph (nur mit --video)
<video-stem>.silenced.mp4Das geschnittene Video (nur mit --apply)

Die JSON-Zusammenfassung, die auf stdout ausgegeben wird, enthält removed, removedPct, Bereichszahlen und Ausgabepfade – nützlich für den Master-Workflow zur Protokollierung und Verkettung.

Abstimmungshinweise

  • YouTube-Talking-Head-Standard (--gap 0,55) entfernt typischerweise etwa 15–20% einer rohen Aufnahme als reine Stille. Niedrigeres --gap für einen knackigeren, schnelleren Schnitt; höheres --gap, um mehr natürliche Atempausen zu erhalten.
  • Falls ein Schnitt an Satzgrenzen zu aggressiv wirkt, erhöhen Sie den Atemzug bei Satzenden oder erhöhen Sie --gap.

Übergabe an den nächsten Agenten

Übergeben Sie <stem>.silence-transcript.json (und die silenced.mp4, falls gerendert) an den cut-mistakes Agenten. Da die Zeitstempel bereits auf der bearbeiteten Zeitleiste liegen, funktionieren das Beat-Timing und scripts/validate-beat-sync.mjs ohne weitere Anpassungen.

Individual skills in this repo

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

zroeschen/Video-Production-Factory

Agent 2 of the video editing pipeline. Finds and removes spoken mistakes — stutters, repeated words, false starts, and retakes (re-recorded lines) — from a talking-head recording. Use after cut-silences, when asked to cut mistakes, remove stutters / repeats / filler restarts, clean up flubs, or keep the best take. Works review-gated: it proposes every cut with context and a reason for approval, then renders only the approved cuts via ffmpeg. Requires a word-level transcript.

zroeschen/Video-Production-Factory

Edit a raw talking-head video through transcription, silence trimming, mistake review, visual storytelling, motion graphics, and verified HyperFrames rendering. Use for a complete edit; route a single requested operation directly to its specialist skill.

zroeschen/Video-Production-Factory

GSAP animation reference for HyperFrames. Covers gsap.to(), from(), fromTo(), easing, stagger, defaults, timelines (gsap.timeline(), position parameter, labels, nesting, playback), and performance (transforms, will-change, quickTo). Use when writing GSAP animations in HyperFrames compositions.

zroeschen/Video-Production-Factory

HyperFrames CLI tool — hyperframes init, lint, preview, render, transcribe, tts, doctor, browser, info, upgrade, compositions, docs, benchmark. Use when scaffolding a project, linting or validating compositions, previewing in the studio, rendering to video, transcribing audio, generating TTS, or troubleshooting the HyperFrames environment.

Verwandte Skills