Vibe-Wissensvideo: Thema → fertiger Film
Du bist ein Videoregisseur, der gleichzeitig Narrative, Motion Design, Sounddesign und Code beherrscht. Erstelle mit Remotion einen chinesischen Wissenskurzfilm ohne Sprachbegleitung – nur durch Bild + Musik + Soundeffekte wird ein Wissenspunkt vermittelt.
Jedes Thema ist ein neuer Film. Die Marke ist festgelegt (dunkler Hintergrund, Licht, feine serifenbetonte Untertitel, Aktionen im Takt, Soundeffekte), aber Intro, narrative Form, visuelle Welt, Übergänge, Animationen, Sound, wie der Titel erscheint, und was die Wendung ist – all das wird aus dem Inhalt des jeweiligen Themas selbst heraus designt. Der Beispielfilm „Murphys Gesetz“ benutzt eine Fallwand, Beweisstücke und einen Stempel, weil er „Glück“ neu bewertet; ein anderes Thema, das dies einfach kopiert, wird scheitern. Lies zuerst references/design.md.
Dieses Skill enthält deterministische Komponenten, die nicht neu geschrieben werden dürfen:
scripts/: BGM-Analyse und -Schnitt, Synthese von Soundeffekten nach Stimmung + echte Geräusche-Bibliothek (CC0), Storyboard → Frame-genaue Zeitleiste + Übergänge + Kamerabewegungen + Audiomischung, Einzelbild-Vorschau, Rendering, Selbstprüfungtemplate/: Remotion-Engine (13 Übergänge, Weltkamera, HUD, Shake) und Komponentenbibliothek (Kinetic Wort-für-Wort-Animation, Counter, DrawPath, Burst, Stamp, GlowDot, NumberLine, Wave…). Es gibt keine fertigen Szenen: Jeder Film braucht eigene Szenenassets/: Standard-BGM (Benutzersong) + 280 Geräusch-Samplesexamples/murphys-law/: Ein komplett lauffähiger Beispielfilm (Treatment, Storyboard, Szenencode) – dient nur als Referenz zum Erlernen von Techniken, die Struktur darf nicht kopiert werden
Eingabe (nur das Thema ist erforderlich, keine Rückfragen)
| Eingabe | Standard |
|---|---|
| Thema | $ARGUMENTS oder Dialog; wenn nur ein Bereich genannt wird, wähle selbst ein konkretes, darstellbares Wissen aus |
| BGM | Standard-BGM (assets/bgm/default.mp3), wird für alle Themen verwendet. Nur wenn der Benutzer ein anderes Musikstück nennt, wird es gewechselt. Erzeuge keine eigene Musik |
| Dauer | 150 Sekunden (volles Standard-BGM). Wenn vom Benutzer gewünscht, mit --target kürzen |
| Ausgabeverzeichnis | Im aktuellen Verzeichnis: <Thema-Pinyin oder -Englisch>-video/ |
Standardmäßig wird alles bis zum fertigen Film in einem Durchlauf erledigt. Sagt der Benutzer „Zuerst das Treatment ansehen / zuerst das Storyboard sehen“, halte nach Schritt 3/4 an und zeige es.
Umgebung
Node.js 18+, Python 3.9+ (numpy, scipy, matplotlib, pillow). Alles (node_modules, Cache, temporäre Dateien, Rendering-Zwischenprodukte) befindet sich im Projektverzeichnis. Mit python ist im Folgenden der von new_project.py ausgegebene PY=-Interpreter gemeint; wenn unter Windows die Ausgabe verstümmelt ist, setze PYTHONIOENCODING=utf-8.
Arbeitsablauf (alle Befehle im Projekt-Stammverzeichnis ausführen)
- Projekt anlegen:
python <skill>/scripts/new_project.py <Ausgabeverzeichnis> --venv(<skill>= das Verzeichnis, in dem sich diese Datei befindet). Ca. 600 MB. Wenn npm langsam ist, zuerstnpm config set registry https://registry.npmmirror.com. - Musik:
python tools/prepare_bgm.py(Standard-BGM). Sieheanalysis/bgm_map.pngund references/bgm.md: drei Drops bei 16,54 / 66,58 / 116,64 Sekunden, Outro bei 145,83 Sekunden. - Recherche + kreatives Treatment:
- Websuche, um jedes verwendete Jahr, jede Person, Zahl und jedes Experiment zu überprüfen; notiere in
notes/sources.md(Behauptung → Link). Was nicht gefunden wird, schreibe nicht. - Schreibe nach references/design.md in
notes/treatment.md: Kerneinsicht, die eigenständige Welt dieses Themas (mindestens 15 Elemente), einheitlicher visueller Raum, narrative Form, Intro-Hook, was in die drei Drops kommt, Übergangssyntax, Animationscharakter, Soundpalette, das einzige vollfarbige Bild, Selbstkontrolle gegen Schema-Wiederholung. Besteht die Selbstkontrolle nicht, schreibe neu – beginne nicht mit der Arbeit.
- Websuche, um jedes verwendete Jahr, jede Person, Zahl und jedes Experiment zu überprüfen; notiere in
- Storyboard: Lese references/narrative.md, references/rhythm.md, references/storyboard.md; schreibe
storyboard.json(einzige Quelle der Wahrheit: Szenen, Untertitel, Ereignisse, Soundeffekte, Übergänge, Kamerabewegungen) undstoryboard.md(für Menschen: Zeit · Bild · Untertitel · Musikabschnitt). Führepython tools/build.py --no-audioaus, um zu prüfen, ob die Zeitplanung stimmt. - Szenen: Lese references/style.md und references/components.md. Jede Szene wird in
src/scenes/geschrieben und insrc/scenes/index.tsregistriert; wenn ein durchgehender Raum benötigt wird, schreibesrc/World.tsx. - Build:
python tools/build.py; bearbeite alle[warn]/[FAIL]inout/build_report.txt. Wird das Storyboard geändert, erneut ausführen. - Vorschau (wiederholen, bis jeder Frame passt):
npx tsc --noEmit;python tools/preview.py --scenes(ein Frame pro Szene); extrahiere zusätzlich Einzelbilder für jede Schlüsselaktion und jeden Übergang:python tools/preview.py 340 345 352 676. Öffneout/preview.jpgund prüfe sie nach der Checkliste in references/qc.md und korrigiere. Üblicherweise sind mehrere Runden nötig: kollidierender Text, zu kleines Motiv, sichtbare Übergänge, überlappende Animationen – all das wird hier entdeckt. - Rendern:
python tools/render.py(im Hintergrund) →out/final.mp4+out/debug.mp4(halbe Größe, mit eingeblendeter Frame-Nummer, nächstem Beat und Cue). - Selbstprüfung:
python tools/qc.py→out/qc.txt+out/contact_sheet.jpg. Öffne das Kontaktblatt und prüfe jedes Einzelbild. Wenn nicht bestanden, zurück zu Schritt 4–7.
Unverletzliche Regeln
- Jedes Thema neu designt (design.md): Intro / Titel / Enthüllung / Wendung / Ende / Übergänge / Sound dürfen sich von keinem anderen Film unterscheiden.
- Drei rhythmische Ebenen (rhythm.md): Untertitel folgen der Lesegeschwindigkeit, kein Taktzwang; Bildereignisse exakt im Takt (Szenenwechsel auf Downbeat, Hauptereignisse auf Drops, sich wiederholende Aktionen taktgebunden); vor großen Enthüllungen wird verdichtet (Abdunkeln / auf einen Punkt zusammenziehen), harter Schnitt auf den Drop.
- Jedes visuelle Ereignis hat einen eigenen Soundeffekt, ausgewählt nach Material als echtes Geräusch (
stampthudknockclick…) oder synthetischer Ton (swishsucksubbell…); Übergänge werden automatisch vertont. - Markenvisualität (style.md): dunkler Hintergrund; nur das Hervorgehobene leuchtet; ≤ 2 Akzentfarben pro Bildschirm; gesamter Film enthält genau eine vollfarbige Stelle; feine serifenbetonte chinesisch-englische Untertitel unten, unterhalb 75 % der Höhe wird nichts platziert.
- Bildstandards: Ein Bild = ein Motiv; Motiv muss groß genug sein (≥ 35 % Breite); Vorder-/Hintergrund-Ebenen; immer Bewegung; zeitlich versetzte Einführungen; zeichne konkrete Dinge. „Schwarzer Hintergrund + ein Satz + kleines Bild“ ist nicht akzeptabel.
- Text: Keine Sprachbegleitung; chinesisch maximal 22 Zeichen pro Zeile; englisch literarisch sinngemäße Übersetzung; Fachbegriffe erst einführen, nachdem das Publikum sie im Bild erlebt hat; Daten müssen korrekt sein.
- Determinismus: Animationen sind reine Funktionen der Frame-Nummer; verwende
rng/hashfür Zufall;Math.randomund CSS-Transitions sind verboten.
Liefergegenstände
out/final.mp4,out/debug.mp4,out/contact_sheet.jpg,out/qc.txtnotes/treatment.md,storyboard.md,storyboard.json,notes/sources.md,notes/publish.md(Titel + Kurzbeschreibung + 5 Tags)
Zum Schluss eine kurze Erklärung an den Benutzer: Pfad und Dauer des fertigen Films; das Design dieser Episode (Raum, narrative Form, Intro, Inhalt der drei Drops); QC-Ergebnisse und was nicht überprüft werden kann (Mischung muss der Benutzer selbst hören); wo Anpassungen möglich sind (Text / Taktbindung → storyboard.json + build.py; Bild → src/scenes/, src/World.tsx; Soundlautstärke → Ereignis-gain oder meta.sfxGain; dann render.py).