Communitygithub.com

johnnyfekete/video-organize

Organisiert Rohmaterial für ein Videoprojekt. Transkribiert jede Aufnahme lokal, ordnet Takes Storyboard-Szenen zu, bewertet Vollständigkeit, Sprachqualität und Audio, berücksichtigt On-Set-Verdikte, empfiehlt den besten Take oder einen Patch aus zwei Takes, katalogisiert B-Roll anhand der Storyboard-Notizen, erstellt TAKES.md und bietet eine Umbenennung mit filmischen Namen an (S02A_T03_original).

Was ist video-organize?

Dieses Skill organisiert und bewertet Rohmaterial für ein skriptbasiertes Videoprojekt, nachdem `video-setup` abgeschlossen wurde und vor `video-assemble`. Es erfordert kein Timeline-Setup und funktioniert bei geschlossenem DaVinci Resolve. Das Skill durchsucht einen Ordner mit Aufnahmen, transkribiert jede Aufnahme lokal mit Whisper (oder einem externen Befehl), ordnet jedes Take einer Storyboard-Szene zu, bewertet die Aufnahmequalität (Wortgenauigkeit, Sprachqualität, Audio) und berücksichtigt On-Set-Verdikte (Approve/Reject). Als Ergebnis erstellt es eine detaillierte TAKES.md, die für jede Szene den empfohlenen Take, Punktzahl, Begründung und mögliche Patches (Kombination zweier Takes) auflistet. Zudem extrahiert es B-Roll-Frames zur Beschreibung und Katalogisierung durch den Nutzer, und bietet eine sichere Umbenennungsfunktion mit filmischen Namen. Das Skill unterstützt Nutzerkorrekturen (z.B. „use S02A-T03“) und führt alle Änderungen revisionssicher durch, ohne das Quellmaterial zu überschreiben.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/johnnyfekete/resolve-video-skills/tree/HEAD/skills/video-organize

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht video-organize?

Führen Sie dieses Skill nach video-setup und vor video-assemble aus. Es benötigt keine Timeline und funktioniert bei geschlossenem Resolve. Erfordert das resolve-bridge Skill, das neben diesem installiert sein muss (oder setzen Sie RVS_BRIDGE), ffmpeg und entweder uv (für lokales Whisper) oder einen Transkriptionsbefehl in RVS_TRANSCRIBE_CMD.

Führen Sie Skripte aus als python3 <Ordner dieses Skills>/scripts/organize.py --workdir <Ordner> <Befehl>.

Storyboard-Format

Einfaches Markdown, ein Block pro Szene. Die Szenen-ID stammt aus der Überschrift.

## S01
Setup: Arbeitsplatte

Lassen Sie mich mit einem Geständnis beginnen: KI hat mir bei der Planung dieses Videos geholfen.

## S03
Voiceover: ja
B-roll: zeigt KI, die etwas Lustiges recherchiert

Setup, Voiceover und B-roll sind optional. Alles andere in einem Block ist der gesprochene Text. Ein Block mit nur B-roll: ist eine reine B-Roll-Szene. Ein einfaches Skript ohne Überschriften zählt jeden Absatz als Szene. Ohne Storyboard überhaupt werden Takes nach ähnlichem Text gruppiert (G01, G02), mit einer Warnung am Anfang von TAKES.md und ohne Bewertung anhand eines Skripts oder Umbenennungsangebots.

Arbeitsablauf

  1. Setup-Prüfung. Führen Sie den check von video-setup aus. Es warnt, wenn kein Storyboard aufgezeichnet wurde, und .edit/config.json sollte storyboard, approve_phrases und reject_phrases enthalten (eine ältere phrases-Liste wird nur als Hinweis angezeigt: Fragen Sie, welche Phrasen genehmigen und welche ablehnen, und speichern Sie diese mit setup.py write).
  2. Zuerst zählen. Fragen Sie nach dem Footage-Ordner, dann:
    python3 scripts/organize.py --workdir <Ordner> run --footage <Footage-Ordner> [--storyboard DATEI] [--every 2]
    
    Ohne --yes werden die Zählungen (Aufnahmen, Dauer, Szenen) ausgegeben und gestoppt. Bestätigen Sie mit dem Benutzer, dass der Ordner richtig aussieht.
  3. Ausführen.
    python3 scripts/organize.py --workdir <Ordner> run --footage <Footage-Ordner> --yes
    
    Transkribiert (eine bereits transkribierte und unveränderte Aufnahme wird übersprungen), findet und bewertet Takes, extrahiert B-Roll-Frames, schreibt TAKES.md und zeichnet Probleme auf (Szenen ohne brauchbares Take, nicht gefilmtes B-Roll, defekte Passagen, die niemand patchen kann).
  4. Ihr Teil: Beschreiben Sie das B-Roll. Der Durchlauf listet einen Frame-Ordner pro B-Roll-Aufnahme auf (ein JPEG pro Sample, Frame N ist bei N x every Sekunden). Für jeden Ordner:
    • Öffnen Sie die Frames und beschreiben Sie, was auf dem Bildschirm zu sehen ist, pro Zeitstempel;
    • Gleichen Sie die Beschreibungen mit den B-roll:-Notizen des Storyboards ab: Szene, Start, Ende und warum;
    • Schreiben Sie die Nutzlast und zeichnen Sie sie dann auf:
      {"<Aufnahmepfad>": {"frames": {"0": "eine Person tippt", "2": "Nahaufnahme eines Bildschirms"},
                            "matches": [{"scene": "S04", "start": 2, "end": 6, "why": "Bildschirm-Nahaufnahme"}]}}
      
      python3 scripts/organize.py --workdir <Ordner> describe payload.json
      
    Beschreiben Sie nur, was Sie sehen. Erfinden Sie keine Übereinstimmungen.
  5. Ihr Teil: Shot-Buchstaben-Fragen. Wenn der Durchlauf nicht unterscheiden kann, ob zwei Dateien einer Szene die gleiche Kameraeinstellung haben, listet er eine Frage mit einem Frame-Unterschied auf. Fragen Sie den Benutzer, und zeichnen Sie dann jede Antwort auf:
    python3 scripts/organize.py --workdir <Ordner> answer S02 <Datei> B
    
  6. Zeigen Sie TAKES.md. Ein Abschnitt pro Szene, mit dem vorgeschlagenen Take zuerst, seiner Punktzahl und Begründung, Patches (gekennzeichnet mit beiden Take-IDs, immer eine Empfehlung), nicht zugeordneten Clips und Szenen ohne Take. Lesen Sie die Probleme dem Benutzer vor.
  7. Korrekturen. Wenn der Benutzer ein anderes Take bevorzugt („use S02A-T03“):
    python3 scripts/organize.py --workdir <Ordner> pick S02A-T03
    
    Eine Benutzerauswahl überlebt erneute Durchläufe. report schreibt TAKES.md neu, ohne etwas anderes zu ändern.
  8. Umbenennen. Angeboten von organize.py rename (zuerst Vorschlag, --apply erst nachdem der Benutzer die vollständige Liste genehmigt hat, --undo zum Rückgängigmachen). Zeigen Sie die vollständige Alt-Neu-Liste und wenden Sie sie nur bei einem klaren Ja an. Benennen Sie niemals auf andere Weise um. Clips, die bereits auf einer Timeline im offenen Resolve-Projekt platziert sind, werden übersprungen und der Grund wird aufgeführt, da die Verknüpfung eines verwendeten Clips dessen Schnitte und Grade verlieren kann; benennen Sie diese bei Bedarf manuell in Resolve um. Wenn das Projekt Compound-, Multicam- oder Fusion-Clips enthält, deren Inhalte nicht aufgelistet werden können, wird jeder importierte Clip übersprungen. --apply wendet genau den zuletzt gezeigten Vorschlag an und lehnt ab, wenn er sich geändert hat. Bei geschlossenem Resolve benötigen --apply und --undo --never-imported (das Footage wurde nie importiert); wenn Resolve geöffnet ist, werden dennoch verwendete Clips geprüft.
  9. Fertig. Der Durchlauf zeichnet den Organize-Schritt selbst auf, sodass nichts weiter aufgezeichnet werden muss. Verweisen Sie auf video-assemble (noch nicht erstellt) als nächsten Schritt.

Namen

FallName
Take-ID in TAKES.mdS02A-T03
Datei mit einem TakeS02A_T03_IMG_5419.MOV
Datei mit mehreren Takes einer EinstellungS02A_T01-T03_IMG_5420.MOV
Datei mit mehreren SzenenS03A_S05A_S06A_IMG_5422.MOV
Zweite Kameraeinstellung einer SzeneS02B_T01_IMG_5430.MOV

Jede Einstellung hat einen Buchstaben. Ein anderer Buchstabe bedeutet eine andere Kameraeinstellung, keinen Wiederholungsversuch. B-Roll und nicht zugeordnete Dateien behalten ihre Namen.

Regeln

  • Quellmaterial wird nie verschoben oder überschrieben. Es wird nur durch die genehmigte rename umbenannt.
  • Bewertung ist 0 bis 100 und wird immer mit Gründen angezeigt. Eine On-Set-Ablehnung hat Vorrang vor der Punktzahl, eine Genehmigung steht an erster Stelle. Voiceover-Szenen werden hauptsächlich nach Ton beurteilt.
  • Patches tauschen mindestens eine vollständige Idee an einer natürlichen Pause aus, niemals ein einzelnes Wort.
  • Arbeitsdateien befinden sich in <Ordner>/.edit/organize/ (nicht von Hand bearbeiten). video-assemble liest nur diese.

Individual skills in this repo

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

Verwandte Skills