Communitygithub.com

Seagey/edit-reel

Bearbeitet Handyvideos zu fertigen vertikalen Reels (1080x1920 MP4). Schneidet Stille und lange Pausen per Audiosignal, korrigiert gespiegelte Frontkamera-Aufnahmen, veredelt die Stimme auf Studioqualität, wendet eine dezente Farbkorrektur an, fügt lesbare Untertitel innerhalb der sicheren Bildschirmzonen ein und stellt die Lautstärke auf etwa -14 LUFS ein.

Was ist edit-reel?

Dieses Skill ermöglicht es KI-Agenten, vertikale Videoclips (1080×1920, MP4) direkt auf dem Mac des Nutzers zu bearbeiten, ohne kostenpflichtige Dienste. Es führt eine vollständige Bearbeitung durch: Entfernen von Stille am Anfang, Ende und in langen Pausen basierend auf der Audiopegelanalyse, automatische Erkennung und Korrektur gespiegelter Frontkamera-Aufnahmen mittels OCR, Zuschneiden auf 9:16, dezente Farbkorrektur mit Vorher/Nachher-Vergleich, professionelle Sprachaufbereitung (Rauschunterdrückung, EQ, Kompressor, Limiter) mit Ziel-Lautstärke -14 LUFS sowie das Einbrennen von Untertiteln in den sicheren Bildschirmzonen. Der Agent kommuniziert auf einfachem, australischem Englisch ohne Fachjargon, erklärt jeden Schritt und berichtet über die Ergebnisse. Der Nutzer kann Einstellungen wie Untertitel-Farbe, -Größe, Schnitt-Schärfe oder Farbkorrektur-Stärke durch einfache Sätze ändern; der Agent passt dann die Konfiguration an und führt die Bearbeitung erneut aus. Das Skill stellt sicher, dass das Originalvideo niemals gelöscht oder verändert wird, keine Passwörter im Chat entgegengenommen werden und die gesamte Verarbeitung lokal auf dem Mac des Nutzers stattfindet.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Seagey/reel-editor/tree/HEAD/.claude/skills/edit-reel

In Ihrer bevorzugten KI fragen

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

Dokumentation

Ein Reel bearbeiten

Alles läuft auf dem eigenen Mac des Nutzers. Keine kostenpflichtigen Dienste. Das Skript, das die Arbeit erledigt, ist scripts/edit.sh im Repository-Stammverzeichnis, welches scripts/edit_reel.py neben dieser Datei aufruft.

Der Nutzer ist nicht technisch. Sprich in einfachem australischem Englisch, kurzen Sätzen, ohne Fachjargon. Sag, was du gleich tun wirst, bevor du es tust, und dann, was passiert ist. Verwende niemals Gedankenstriche.

Inhalt

  • Schnelleinstieg
  • Das Video besorgen
  • Was eine Bearbeitung macht
  • Einstellungen, die der Nutzer ändern kann
  • Bevor du es übergibst: die Prüfungen
  • Das Ergebnis für den Nutzer zusammenfassen
  • Was schiefgehen kann
  • Harte Regeln

Schnelleinstieg

  1. Überprüfe, ob die Einrichtung abgeschlossen ist: scripts/setup.sh --check. Wenn es NICHT BEREIT anzeigt, folge CLAUDE.md (dem Onboarding), improvisiere keine Installationen.
  2. Besorge das Video (siehe unten) und führe dann aus:
    • eine benannte Datei: scripts/edit.sh "<Pfad zum Video>"
    • die neuesten N im Inbox-Ordner: scripts/edit.sh --latest 3
  3. Führe die untenstehenden Prüfungen durch, schau dir die Bilder an, lies die Untertitel und berichte dann.

Ein 30 bis 60 Sekunden langer Clip dauert auf einem Mac mit Apple-Chip etwa ein bis zwei Minuten, auf älteren Modellen länger.

Das Video besorgen

In dieser Reihenfolge vorgehen, beim ersten erfolgreichen Schritt aufhören:

  1. Eine Datei, die der Nutzer nennt oder hereinzieht. Verwende sie dort, wo sie ist. Verschiebe oder lösche niemals das Original des Nutzers.
  2. Der Inbox-Ordner. Alles, was der Nutzer per AirDrop oder durch Ziehen in Inbox/ (im Repository-Ordner) abgelegt hat.
  3. iCloud Fotos. Nur, wenn iCloud eingerichtet wurde (docs/ICLOUD.md). Die Apple-ID-E-Mail des Nutzers steht in config.json unter icloud_apple_id. Führe scripts/icloud-fetch.sh <Apple-ID> 30 aus.
    • Es gibt ICLOUD_FETCH_OK aus, wenn es funktioniert hat. Die neuesten Videos landen in Inbox/.
    • Es gibt ICLOUD_FETCH_FAILED aus, wenn die Anmeldung abgelaufen ist (sie hält etwa zwei Monate) oder noch nie durchgeführt wurde. Versuche nicht, es selbst zu beheben: sag es dem Nutzer und führe ihn durch docs/ICLOUD.md Schritt „Erneute Anmeldung“. Er gibt das Passwort und den 6-stelligen Code in sein eigenes Terminal ein, niemals in den Chat.
    • „Neueste“ bedeutet die zuletzt aufgenommenen. Gerade gefilmte Videos können ein paar Minuten brauchen, bis sie in iCloud erscheinen. Wenn das gemeinte Video fehlt, sag es dem Nutzer und biete an, es in einer Minute noch einmal zu versuchen.
    • Vor der Bearbeitung liste die neuesten Videos mit ihren Längen auf (ffprobe für die Dauer) und bestätige, welches gemeint ist, wenn es Zweifel gibt.
  4. Nichts funktioniert. Biete den Ausweichplan an: der Nutzer kann das Video per AirDrop auf seinen Mac schicken oder in den Inbox-Ordner ziehen.

Was eine Bearbeitung macht

In dieser Reihenfolge:

  1. Schneiden, per Ton. Findet, wo die Stimme wirklich beginnt und endet, anhand der Lautstärke des Audiosignals, nicht anhand der Untertitel-Zeitpunkte (Spracherkennungs-Zeitpunkte ganz am Anfang eines Clips können in der Stille liegen und tote Luft verbergen). Schneidet die Stille am Anfang und Ende und verkürzt lange Pausen. Schnitte werden an der leisesten Stelle in der Nähe gesetzt und jede Naht hat einen 15 ms Überblendung, sodass kein Wort abgeschnitten wird. Sätze bleiben vollständig; es wird nichts entfernt, was keine tote Luft war.
  2. Spiegelprüfung. Clips der Frontkamera sind oft gespiegelt. Liest Text im Bild (Schilder, Bildschirme, T-Shirts) normal und gespiegelt mit OCR aus und spiegelt das Video nur, wenn echte Wörter gespiegelt korrekt lesbar sind. Niemals aufgrund von Augenmaß beurteilt. Wenn kein lesbarer Text vorhanden ist, bleibt das Video unverändert und dies wird im Bericht vermerkt.
  3. Zuschneiden auf 9:16 und hochskalieren auf 1080x1920 (Landschaftsclips werden auf die Mitte zugeschnitten).
  4. Farbe. Misst einige Einzelbilder und wendet eine kleine Korrektur von Belichtung, Kontrast und Sättigung an, die begrenzt ist, sodass es nie übertrieben aussieht, mit einer Vorher/Nachher-Tafel. HDR-iPhone-Clips werden zuerst auf Standardfarben umgerechnet.
  5. Studio-Sound. Rauschentfernung, Stimm-EQ, De-Esser, Kompressor, Limiter, dann Lautstärke auf -14 LUFS. Dies wurde durch Messungen abgestimmt. Die Ohren entscheiden: wenn es scharf, dünn oder überbearbeitet klingt, setze audio.strength auf light.
  6. Untertitel. Transkribiert den bereinigten Ton, zeichnet dann Untertitel mit Pillow. Innerhalb der sicheren Bildschirmzonen (x 90 bis 960, y 250 bis 1520 auf einem 1080x1920 Bild) damit Schaltflächen und der App-eigene Text sie nicht überdecken. Das aktive Wort wechselt die Farbe. Die Kontur bleibt dunkel. Keine farbigen Kästchen hinter Wörtern, da sie über einem Gesicht weich wirken.
  7. Ausgaben. Edited/<Name>-bearbeitet.mp4 und, in Edited/checks/<Name>/: contact-sheet.jpg, colour-before-after.jpg, caption-frame.png, captions-words.txt, report.json.

Einstellungen, die der Nutzer ändern kann

Alle in config.json im Repository-Stammverzeichnis (erstellt aus config.default.json, das nie bearbeitet wird). Der Nutzer berührt die Datei nie. Er sagt es in einfachen Worten und du änderst es, führst die Bearbeitung erneut aus und zeigst es ihm. Vollständige Wort-zu-Einstellungstabelle: docs/STYLE.md.

Beispiele:

  • „Mach die Untertitel gelb“ setzt captions.highlight_color (das aktive Wort) oder captions.color (alle Wörter). Frage nach, wenn unklar.
  • „Größere Untertitel“ erhöht captions.size um etwa 12 (Standard 78). Stelle sicher, dass das Ergebnis innerhalb der sicheren Zone bleibt: das Skript meldet inside_safe_zone.
  • „Verschiebe die Untertitel nach oben“ setzt captions.position auf middle oder upper.
  • „Ein Wort nach dem anderen“ setzt captions.style auf word. „Zeilenweise“ setzt es zurück auf line.
  • „Keine Untertitel“ setzt captions.enabled auf false.
  • „Weniger Farbe“ senkt grade.strength um 0.2. „Keine Farbkorrektur“ setzt grade.enabled auf false.
  • „Schneide es enger“ setzt cuts.tightness auf tight. „Mehr Luft lassen“: gentle.
  • „Klingt zu bearbeitet“: audio.strength auf light.
  • „Näher an mein Gesicht“: framing.zoom 1.15 (maximal sinnvoll 1.4).
  • Name in Untertiteln falsch geschrieben: füge ihn zu vocabulary hinzu (hilft dem Spracherkenner, es richtig zu machen) und, wenn es immer noch falsch kommt, zu replacements als {"gehört": "Richtige Schreibweise"}.

Nach einer Änderung führe die Bearbeitung erneut auf demselben Video aus und zeige das neue Ergebnis. Verwende die Edited/-Dateien; eine erneute Ausführung ersetzt die alte Bearbeitung desselben Namens.

Bevor du es übergibst: die Prüfungen

Das Skript gibt eine Zusammenfassung aus und schreibt report.json. Du musst trotzdem nachsehen.

  1. Zahlen. loudness_ok, start_ok, end_ok sollten alle wahr sein. Stille am Anfang sollte 0.45 s oder weniger und am Ende 0.75 s oder weniger betragen. Wenn nicht, sag es und führe erneut mit --tightness tight aus.
  2. Schau dir die Bilder an mit dem Lesewerkzeug: contact-sheet.jpg (ist das Gesicht im Bild, sieht das Bild natürlich aus, sind die Untertitel innerhalb des Bildschirms), colour-before-after.jpg (links ist das Original, rechts die Korrektur: Haut natürlich, nicht orange oder grau, Weiß nicht überbelichtet, Schwarz nicht abgeschnitten) und caption-frame.png (lies jedes Wort in voller Größe, kannst du jedes vor dem Hintergrund lesen).
  3. Lies die Untertitel. Öffne captions-words.txt. Die Spracherkennung hört Namen und lokale Wörter falsch (z.B. einen Markennamen). Korrigiere mit vocabulary und replacements, führe dann erneut aus. Überprüfe caption_vs_sound_match im Bericht: unter 0.9 bedeutet, dass etwas nicht stimmt, untersuche es.
  4. Spiegelung. Schau in report.json unter mirror. Wenn decision unknown ist und Text im Bild ist (ein Schild, ein Bildschirm), schau dir ein Einzelbild an und überprüfe, ob der Text korrekt lesbar ist. Wenn er rückwärts ist, setze framing.mirror_fix auf always und führe erneut aus.
  5. Tote Luft per Ton. Das Skript führt silencedetect auf dem endgültigen Mix aus. Vertraue für diese Prüfung nicht auf die Untertitel-Zeitpunkte.

Du kannst nicht zuhören. Sag das ehrlich: der Ton wurde eingestellt und gemessen, aber die Ohren des Nutzers entscheiden.

Das Ergebnis für den Nutzer zusammenfassen

Kurz, einfach, in dieser Form:

  • Wo die Datei ist und wie man sie öffnet (Finder, Edited-Ordner im Reel-Editor-Verzeichnis).
  • Was geschnitten wurde („1,1 Sekunden Stille am Anfang entfernt, zwei lange Pausen verkürzt, 36 Sekunden auf 33 verkürzt“).
  • Ob das Bild gespiegelt wurde und warum.
  • Was der Ton jetzt misst („etwa -14, das übliche Level für Instagram und TikTok“).
  • Untertitel: Schriftart, Farben, alle Wörter, die du geändert hast.
  • Alles, was du nicht beheben konntest, und was der Nutzer sagen kann, um es zu ändern.

Frage dann, was geändert werden soll, und biete ein oder zwei Ideen aus der obigen Einstellungsliste an.

Was schiefgehen kann

  • „Keine Sprache gefunden“: der Clip ist stumm oder nur Musik. Sag es dem Nutzer.
  • Untertitel an der falschen Stelle oder abgeschnitten: überprüfe inside_safe_zone im Bericht; verringere size.
  • Schriftart nicht gefunden: das Skript fällt auf Arial Black zurück und gibt einen Hinweis aus. Biete eine der integrierten Schriftarten an (docs/STYLE.md) oder lade eine kostenlose Schriftart herunter (eine .ttf von fonts.google.com) nach ~/.reel-editor/fonts/ und setze captions.font auf den Dateinamen ohne .ttf.
  • Ein Einrichtungswerkzeug fehlt: führe scripts/setup.sh aus. Wenn Homebrew fehlt, folge CLAUDE.md.
  • Bearbeitung dauert sehr lange: 4K-Clips über 3 Minuten sind aufwendig. Sag es und lass es laufen.

Harte Regeln

  • Lösche oder ändere niemals das Originalvideo des Nutzers.
  • Frage niemals nach einem Passwort oder 6-stelligen Code im Chat und nimm es auch nicht an.
  • Keine kostenpflichtigen Dienste und kein Hochladen des Videos irgendwohin. Alles bleibt auf diesem Mac, außer dem iCloud-Download.
  • Keine Scroll-Aufforderungen oder „Folge mir“-Einblendungen, es sei denn, der Nutzer bittet darum.
  • Füge nichts hinzu, was der Nutzer nicht gesagt hat: Untertitel zeigen nur, was gesprochen wurde.

Verwandte Skills