product-video
Reales Filmmaterial + ein Ereignisprotokoll → ein deklarativer Plan (YAML) → pvk render → Kontaktbogen → Finale.
Die Skripte übernehmen Timing, Zooms, Overlays und Audio; Sie storyboarden, schreiben den Plan und prüfen die Einzelbilder.
PVK=~/.claude/skills/product-video/bin/pvk # oder `pvk` nach `pip install -e ~/.claude/skills/product-video`
Wann verwenden
| Der Benutzer möchte | Erstellen | Zuerst lesen |
|---|---|---|
| Benutzer lernen eine Funktion oder eine ganze App („video hướng dẫn“, Tutorial, Onboarding) | Tutorial: Kapitel von 1–3 Min., dann pvk join | references/storyboard.md |
| Aufmerksamkeit für ein Produkt oder Release („video quảng cáo“, Promo, Launch, Teaser) | Promo: ein 30–45 s langer 16:9-Schnitt im Takt | references/storyboard.md |
| Eine kurze Web-App-Demo oder einen Bug-Repro-Clip | Das web-video-skill allein | - |
Harte Regeln
- Echte App, Beispieldaten. Filmen Sie das echte Produkt mit realistischen, fiktiven Beispieldaten. Keine Mockups und niemals echte Kundendaten, Geheimnisse oder Produktionskonten (
references/privacy.md). - Zuerst Storyboard, dann ein Ja. Schreiben Sie das Storyboard in einfacher Sprache und holen Sie die Zustimmung ein, bevor eine Aufnahme gemacht wird.
- Das Design des Projekts. Führen Sie
theme initim Projekt aus und prüfen Sie das Ergebnis anhand des Designleitfadens. - Musik und Soundeffekte sind Pflicht. Jedes Video erhält einen Hintergrund und UI-Sounds; die Aussteuerung erfolgt auf -16 LUFS.
- Entwurf, Prüfung, dann Finale. Rendern Sie mit
--draft --check, öffnen Sie jeden Kontaktbogen, korrigieren Sie und erst dann mit--final. - Nichts verlässt den Rechner (Uploads, Posts, Issue-Anhänge) ohne die Zustimmung des Eigentümers.
- Steuern Sie niemals Sicherheits-, Schlüsselbund- oder Anmeldedialoge. Überlassen Sie diese dem Benutzer.
Schritt 0. Einrichtung (einmal pro Rechner)
$PVK doctor # ffmpeg, Python 3.11+, Pakete, Chromium, Schriften, optionale Tools
python3 -m pip install -r ~/.claude/skills/product-video/requirements.txt && python3 -m playwright install chromium
$PVK fonts # lädt Inter, Playfair Display, JetBrains Mono (OFL) herunter in ~/.cache/product-video
$PVK sfx gen && $PVK music beds
$PVK selftest # rendert ein kurzes Kapitel und ein Promo aus der beigelegten Demo (~1 Min.)
Fehlende Tools: Installationsbefehl ausgeben und nachfragen; nicht still installieren.
Schritt 1. Theme aus dem Projekt
cd <video-verzeichnis> # z.B. <projekt>/video (Ausgaben aus git ausschließen)
$PVK theme init --repo <projekt> --out theme.json
$PVK fonts --theme theme.json
$PVK overlay chapter title="Vorschau" --theme theme.json --out preview.png # anschauen
Korrigieren Sie Farben, Schriften, brand und logo in theme.json von Hand, wo der Designleitfaden mehr vorgibt (references/theme.md).
Schritt 2. Storyboard
Tutorial: ein Kapitel pro Aufgabe, die der Benutzer lernen muss; jedes Kapitel = Kapitelkarte, Filmmaterial mit 3–8 nummerierten Untertiteln, Zusammenfassungskarte. Promo: 5–8 Highlights, jeweils eine kurze Überschriftenkarte + ein 2–4 s langer Filmausschnitt, Endkarte. Schreiben Sie es als Tabelle (Zeit, Bildschirm, Untertitel, Ton) und holen Sie ein Ja. Details: references/storyboard.md.
Schritt 3. Aufnahme
| Produkt | Wie |
|---|---|
| Native macOS-App | scene.py schreiben (siehe examples/scene_native.py), dann $PVK capture native scene.py --app "App" --out takes/s1 --rehearse, dann ohne --rehearse |
| Web-App | Mit web-video aufnehmen (record.py --slug x), dann $PVK capture import video-out/x/v1 --name w1 |
| Alles andere | raw.mp4 und eine events.json (siehe references/plan-format.md) in takes/<name>/ ablegen |
| Noch keine App / zum Ausprobieren | $PVK demo --out takes/demo |
Vor jeder Aufnahme: Beispieldaten geladen, Benachrichtigungen aus (Bitte-nicht-stören), alte Toasts geschlossen, Fenstergröße festgelegt.
Nach jeder Aufnahme: $PVK check popups takes/s1 und $PVK check grab takes/s1 grab.png 1 5 9 zum Anschauen.
macOS-Fallstricke (Mission-Control-Tasten, Cmd vs Strg, der echte Mauszeiger, HUDs): references/pitfalls.md.
Schritt 4. Plan
Kopieren Sie examples/tutorial.yaml oder examples/promo.yaml neben die Aufnahmen und bearbeiten Sie es. Zeiten in Filmmaterial-Clips sind Quellsekunden aus der events.json der Aufnahme; Boxen sind Quellpixel. Vollständiges Format: references/plan-format.md.
$PVK render ch01.yaml --only-plan # schnell: out/plan/ch01.md listet jeden Clip, Untertitel, Zoom, Sound, Warnung
Beheben Sie jede Warnung (kurze Untertitel, Überlappungen, Callouts, die einen Zoom überspannen, 2-stellige Schrittnummern).
Schritt 5. Entwurf und Prüfung
$PVK render ch01.yaml --draft --check # 720p; out/drafts/ch01.mp4 + out/check/ch01/contact-*.png
$PVK render ch01.yaml --frames 3.2,7.5 # Standbilder zu Ausgabezeitpunkten, für eine genauere Ansicht
$PVK promo promo.yaml --draft --check # Promos: gleiche Engine, Schnitte am Beat-Raster ausgerichtet
Öffnen Sie jeden Kontaktbogen (die PNGs lesen). Prüfen Sie: Untertitel lesbar und verdecken nicht die Aktion, Zoom an der richtigen Stelle, kein OS-Popup oder übriggebliebener Toast, Cursor dort wo der Klick ist, Karten richtig geschrieben, Lautstärke etwa -16 LUFS. Bis zu 3 Korrekturdurchläufe, dann zeigen Sie dem Benutzer den Entwurf und den Bogen.
Schritt 6. Finale und vollständiger Schnitt
$PVK render ch01.yaml --final # 1080p, out/final/ch01.mp4
$PVK join out/final/tutorial.mp4 out/final/ch0*.mp4
$PVK check out/final/tutorial.mp4
Bericht: Dateipfade, Längen, Lautstärke, was Sie nicht prüfen konnten (Sie können den Mix nicht hören: sagen Sie es).
Musik und Ton
music: bed:soft-piano | bed:ambient | bed:promo sind synthetisierte Hintergrundmusik (eigene Arbeit, kostenlos). Für lizenzierte Titel: $PVK music fetch (woher man sie bekommt), dann $PVK music add track.mp3 --title ... --author ... --source URL --license ... (normalisiert auf -20 LUFS und protokolliert in music/LICENSES.md). Niemals Drittanbieter-Titel committen. SFX-Zuordnung, Ducking und Lautstärke: references/audio.md.
Referenzen
references/storyboard.md: Tutorial vs Promo, Kapitelstruktur, Untertitel schreiben, Beat-Schnittereferences/plan-format.md: jeder Plan-Schlüssel, das events.json-Format, die Zeitachsenberechnungreferences/theme.md: theme.json,theme init, Schriften (OFL), Logoreferences/audio.md: Hintergrundmusik, lizenzierte Musik, SFX-Zuordnung, Lautstärkezielereferences/capture.md: native macOS-Aufnahme, web-video-Import, Aufnahmelayoutreferences/pitfalls.md: alles, was in echten Projekten schiefgelaufen ist, und die Lösungreferences/privacy.md: Daten- und Weitergaberegeln