/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-rapidoundfabrica-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
- Aufnahme im Studioformat. Falls vom Smartphone: Kopiere das Original nach
TRABALHO\originais\und führenpm run converter -- "<original>" <slug>aus (erzeugtTRABALHO\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. - Transkribieren:
npm run legendar -- "trabalho\public\gravacao-<slug>.mp4"(im Hintergrund; ~1 Minute für 2 Minuten Aufnahme). - Analysieren:
npm run cortar -- analysieren "trabalho\public\gravacao-<slug>.mp4"→cortes\gravacao-<slug>.cortes.jsonundcortes\gravacao-<slug>.falas.md(die Aufnahme als Tabelle von Sprachsegmenten mit Zeit, Pausen und dem Hinweis „scheint in Sprachsegment N wiederholt zu werden“). - Entscheiden, was entfernt wird. Lies die gesamte Sprachsegmenttabelle und fülle die Liste
removerder Datei.cortes.jsonaus:- 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
mantersetzen, 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.
- wiederholter Take: Behalte den letzten vollständigen Take (er beginnt von neuem, wenn er einen Fehler macht); die vorherigen entfernen:
- Anwenden:
npm run cortar -- anwenden cortes\gravacao-<slug>.cortes.json→TRABALHO\public\gravacao-<slug>-limpa.mp4undcortes\gravacao-<slug>.relatorio.md(was entfernt wurde, wie lange, warum und der Text, der dort war). - Prüfen ohne Anhören: Transkribiere das bereinigte Video (
npm run legendar -- "<...-limpa.mp4>") und liesnpm 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, passeremoveran und wende erneut an; falls der Fehler im Skript liegt, korrigierecortar.mjsund notiere es hier.
- 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.ficader Datei.cortes.json). Die Hörkontrolle ist seine Aufgabe.
Einstellungen (in der config der Datei .cortes.json, dann erneut anwenden)
| Feld | Standard | Funktion |
|---|---|---|
pausaMin | 0,5 s | Stille ab dieser Länge wird geschnitten. Höher = natürlicher, weniger Schnitte. |
folga | 0,12 s | Reserve vor und nach jedem Schnitt. Wenn die Sprachsegmente zu nah aneinander sind, auf 0,18 erhöhen. |
folgaFinal | 0,35 s | Reserve am Ende des Videos. |
ruidoDb | automatisch | Grenzwert, 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
folgaFinalam Ende bleiben. - Als
removermarkiertes 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
pausaMinbleibt 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.