Communitygithub.com

eduardogalbiati/fabrica-videos-corte

Automatisches Schneiden einer gesprochenen Aufnahme. Entfernt Stille, Fehler, Gestotter und wiederholte Takes und behält die beste Version jedes Satzes – mit einem Bericht über die Änderungen. Verwende dies, wenn er darum bittet, das Video zu bereinigen, Pausen zu kürzen oder Fehler zu entfernen.

Was ist fabrica-videos-corte?

Diese Skill aus der **Fábrica de Vídeos Agêntica** ist ein intelligenter Video-Editor, der gesprochene Aufnahmen automatisch bereinigt. Sie erkennt Stille im Audio, markiert wiederholte Takes, Fehler und Gestotter und ermöglicht dir, nur die besten Frames jedes Satzes zu behalten. Das Original wird nie verändert. Der gesamte Workflow läuft über die Kommandozeile: Transkription mit Whisper, Analyse der Sprachsegmente, manuelle Entscheidung über zu entfernende Abschnitte und finale Anwendung der Schnitte. Du kannst Parameter wie `pausaMin` (Stille-Schwelle) oder `folga` (Reserve vor/nach Schnitten) anpassen. Die Skill ist Teil der Fábrica de Vídeos und funktioniert am besten in Kombination mit den Skills `fabrica-videos-rapido` und `fabrica-videos-reels`, bevor die Animationen synchronisiert werden. Nach dem Schnitt erzeugt sie einen detaillierten Bericht mit Dauer, Anzahl der Schnitte und den Gründen für jede Entfernung. Der Anwender überprüft das Ergebnis durch Anhören und Lesen des Berichts.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/eduardogalbiati/fabrica-de-video-skills/tree/HEAD/.claude/skills/fabrica-videos-corte

In Ihrer bevorzugten KI fragen

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

Dokumentation

/fabrica-videos-corte – Automatischer Schnitt

Skill der Fábrica de Vídeos Agêntica. Bereinigt eine gesprochene Aufnahme: entfernt Stille, Fehler, Gestotter und wiederholte Takes und behält nur die beste Version jedes Satzes. Das Original wird nie verändert.

Du bist der Video-Editor. Befehle werden im Terminal im Stammverzeichnis des Projekts ausgeführt. TRABALHO = der Ordner trabalho.

Wann verwenden

  • Der Kunde sendet eine Aufnahme und sagt „bereinigen“, „Pausen kürzen“ oder „Fehler entfernen“.
  • Innerhalb der Skills fabrica-videos-rapido und fabrica-videos-reels, bevor die Animationen synchronisiert werden.

Wie es funktioniert

Die Pausen werden automatisch entfernt: Das Skript erkennt die Stille im Audio. Was ein Fehler oder wiederholter Take ist, entscheidest du als Leser des Textes. Der Kunde überprüft dies anhand des Berichts und durch Anhören des Ergebnisses.

Schritt-für-Schritt-Anleitung

  1. Aufnahme im Studioformat. Falls vom Smartphone: Kopiere das Original nach TRABALHO\originais\ und führe npm run converter -- "<original>" <slug> aus (erzeugt TRABALHO\public\gravacao-<slug>.mp4). Dies gilt auch für Aufnahmen, die nicht 4K HDR sind: Der Konverter dreht das Video aufrecht, schneidet es auf 1080×1920 zu und wandelt es auf 30 fps um. Extrahiere einen Frame aus dem konvertierten und dem Original (ffmpeg -ss 20 -i <datei> -frames:v 1 ...) und vergleiche: Rotation und Farbe müssen übereinstimmen.
  2. Transkribieren: npm run legendar -- "trabalho\public\gravacao-<slug>.mp4" (im Hintergrund; ~1 Minute für 2 Minuten Aufnahme).
  3. Analysieren: npm run cortar -- analysieren "trabalho\public\gravacao-<slug>.mp4" → cortes\gravacao-<slug>.cortes.json und cortes\gravacao-<slug>.falas.md (die Aufnahme als Tabelle von Sprachsegmenten mit Zeit, Pausen und dem Hinweis „scheint in Sprachsegment N wiederholt zu werden“).
  4. Entscheiden, was entfernt wird. Lies die gesamte Sprachsegmenttabelle und fülle die Liste remover der Datei .cortes.json aus:
    • wiederholter Take: Behalte den letzten vollständigen Take (er beginnt von neuem, wenn er einen Fehler macht); die vorherigen entfernen: { "falas": [2, 3], "motivo": "Fehler gemacht und neu begonnen" };
    • derselbe Satz, zweimal vollständig gesagt, mit einer langen Pause dazwischen (in der echten Aufnahme war es der endgültige CTA): Er hat wiederholt, weil ihm der erste nicht gefiel. Behalte den letzten und teile ihm in der Nachricht mit, welcher entfernt wurde, damit er tauschen kann;
    • Aufwärmen vor dem Beginn („los geht's“, „okay“, Unterhaltung) und alles nach dem CTA: entfernen;
    • Gestotter oder einzelnes Wort mitten in einer Phrase: npm run cortar -- wörter cortes\gravacao-<slug>.cortes.json <nr> zeigt die Zeiten Wort für Wort; verwende { "de": 12.30, "ate": 13.10, "motivo": "gestottert" };
    • Kommentar außerhalb des Skripts („nein, warte“, „nochmal“, „Cut“): entfernen;
    • absichtliche Pause (Spannung vor einer Zahl): in manter setzen, z. B. { "de": 20.1, "ate": 21.4 };
    • falls ein Skript existiert (roteiros\<slug>.md), vergleiche: Der Take, der bleibt, ist der, der den Skripttext sagt, oder der vollständigste, falls er die Rede geändert hat. Bei Unklarheit zwischen zwei guten Takes, die unterschiedliche Dinge sagen, nichts entfernen: frage ihn.
  5. Anwenden: npm run cortar -- anwenden cortes\gravacao-<slug>.cortes.json → TRABALHO\public\gravacao-<slug>-limpa.mp4 und cortes\gravacao-<slug>.relatorio.md (was entfernt wurde, wie lange, warum und der Text, der dort war).
  6. Prüfen ohne Anhören: Transkribiere das bereinigte Video (npm run legendar -- "<...-limpa.mp4>") und lies npm run falas -- legendas\gravacao-<slug>-limpa.json. Drei Dinge:
    • Der Text muss das sein, was er sagen wollte, ohne abgeschnittenes Wort und ohne Überbleibsel von Fehlern (beim ersten echten Durchlauf blieb ein „Ok.“ vom Aufwärmen übrig – so wurde der Fehler entdeckt);
    • Die Spalte „Pause danach“ darf nichts über ~0,8 s enthalten: Eine große Pause im bereinigten Video bedeutet ein Stück, das zwischen zwei Schnitten übrig geblieben ist;
    • Anfang und Ende: Erstelle ein Kontaktblatt des bereinigten Videos (ffmpeg -i <bereinigt> -vf "fps=1/2.5,scale=180:-1,tile=7x2" -frames:v 1 <blatt.jpg>) und prüfe, ob er im Bild ist und vom ersten bis zum letzten Bild spricht. Sollte etwas übrig geblieben sein, passe remover an und wende erneut an; falls der Fehler im Skript liegt, korrigiere cortar.mjs und notiere es hier.
  7. Ihm vorzeigen: Sende das bereinigte Video mit der Zusammenfassung des Berichts: Dauer vorher und nachher, Anzahl der Schnitte, die von dir entfernten Sprachsegmente (nicht die Pausen) und die Sekunde jeder Nahtstelle im bereinigten Video (summiere die Dauer der verbleibenden Abschnitte in resultado.fica der Datei .cortes.json). Die Hörkontrolle ist seine Aufgabe.

Einstellungen (in der config der Datei .cortes.json, dann erneut anwenden)

FeldStandardFunktion
pausaMin0,5 sStille ab dieser Länge wird geschnitten. Höher = natürlicher, weniger Schnitte.
folga0,12 sReserve vor und nach jedem Schnitt. Wenn die Sprachsegmente zu nah aneinander sind, auf 0,18 erhöhen.
folgaFinal0,35 sReserve am Ende des Videos.
ruidoDbautomatischGrenzwert, was als Stille zählt. Bei lauten Räumen: analysieren mit einem höheren Wert am Ende des Befehls erneut ausführen (z. B. -32).

Wie das Skript die Schnitte einfügt (überprüft mit der ersten echten Aufnahme)

  • Pausen: Anhand der gemessenen Stille im Audio. Teile derselben Pause, die durch einen Knackser von bis zu 0,1 s getrennt sind, werden zu einer einzigen Pause zusammengefasst.
  • Anfang und Ende: Alles vor dem ersten Wort und nach dem letzten Wort wird entfernt (wenn er sich zurechtlegt, den Bildausschnitt verlässt), wobei 0,12 s am Anfang und folgaFinal am Ende bleiben.
  • Als remover markiertes Sprachsegment: Der Schnitt reicht von der ersten Pause nach dem letzten Wort, das bleibt, bis zur letzten Pause vor dem nächsten Wort, das bleibt. Maßgeblich ist die Stille im Audio, nicht die Zeit von Whisper.

Bekannte Einschränkungen

  • Whisper-Zeiten: In der echten Aufnahme kam der Beginn einer Phrase nach einer langen Pause bis zu 0,4 s zu spät und das Ende eines Wortes bis zu 0,25 s früher oder später. Der Schnitt eines gesamten Sprachsegments berührt die Stille und leidet nicht darunter. Der Schnitt mitten in einem Satz (Gestotter, ohne Stille auf beiden Seiten) hat dagegen nur die Whisper-Zeit: Überprüfe diese Stellen besonders sorgfältig und bitte ihn, sie anzuhören. Dieser Fall ist bisher in einer echten Aufnahme nicht aufgetreten.
  • Eine Pause kürzer als pausaMin bleibt erhalten (der natürliche Atem zwischen Sätzen).
  • Harter Bildschnitt: Bei geteiltem Bildschirm ist das normal. Wenn der Sprung stört, informiere ihn, anstatt einen Übergang zu erfinden.
  • Mehr als 150 Abschnitte in einem Durchlauf lehnt das Skript ab: Erhöhe pausaMin.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Verwandte Skills