Finding Video
Das Produkt ist der Fund, nicht die Website. Das Video zeigt das echte Material, das ihn belegt, groß und klar, hält eine Sache konstant, damit der Zuschauer sieht, was sich geändert hat, und endet mit einer Frage, die die Leute in den Kommentaren beantworten. Die Website erscheint nur am Ende, als Quelle.
Es entstand aus dem Cluj-Satellitenclip (gleicher Ort, 1968 → 2025, Vollbild-Aufnahmen, eine Jahreszahl Beschriftung, zwei Zeilen, keine Website), der viel besser funktionierte als ein Rundgang durch die Seite.
Was du lieferst
- Zwei Schnitte, 1080×1920, 30 fps, H.264 + AAC, 15–25 s: A beginnt mit der Frage oder dem ersten Bild und loopt; B beginnt kalt mit dem Höhepunkt. Cover für beide.
post.txt: Dateien und Spezifikationen, Posting-Notizen, die Tabelle der Behauptungen (jede Zahl und Zeile auf dem Bildschirm → ihre Quelldatei oder URL), Bildnachweise, Tonquellen. Kein Post-Text, es sei denn, der Benutzer fordert ihn an (Agenten verfassen keine Beiträge).- Die Videos in einem Ordner außerhalb des Repos (
~/Videos/<projekt>-finding-<datum>/); das Storyboard, Skripte und Materialausschnitte imreports/finding-<datum>/des Projekts, mit einer README: was dort ist, wo die Medien liegen, was die Skripte benötigen. - Das Posten ist die Aufgabe des Benutzers: poste niemals für sie.
Arbeitsablauf: drei kostengünstige Genehmigungen vor dem langen Rendern
- Der Fund. Liste 2–4 Kandidatenfunde aus den eigenen Daten des Projekts auf, jeweils mit der Spannung, die sie tragen, und ihrem Nenner. Wähle den mit der größten Anziehungskraft (Geld, die Stadt, ein gemeinsames Ärgernis). Überprüfe jede Zahl anhand der Daten, nicht anhand der Seite, die sie zusammenfasst.
- Das Material. Finde für den Fund das lebendigste reale Ding, das ihn zeigt: einen gespeicherten
Screenshot einer Speisekarte, einen Satellitenbildausschnitt, ein Dokument, ein Foto, die Daten selbst als
Diagramm. Notiere die Rechte für jedes Stück (siehe
references/craft.md, Material). Ausschnitte bleiben exakt wie aufgenommen: keine Retusche, keine hinzugefügten Preise. - Story-Check (Genehmigung 1). Eine Tabelle der Beats: Zeit, was den Bildschirm füllt, die Bildunterschrift, der Ton und die Behauptung, die jeder Beat mit seiner Quelle aufstellt. Benenne die Konstante (was gleich bleibt, während sich der Rest ändert) und das Mittel (die eine Idee, die du in einem Satz sagen könntest). Warte auf das Ja des Benutzers oder auf Änderungen.
- Look-Check (Genehmigung 2). Verwende das aktuelle Design der Seite: lies seine Farben, Schriftart und
Diagrammstil jedes Mal aus dem Quellcode der Seite, da Seiten neu gestaltet werden (2026-11-06). Rendere
2–3 Vollbild-Frames (
frames.py --stillsoderseek_capture.mjs ... stills) und zeige sie. Warte auf ein Daumen hoch pro Frame. - Storyboard (Genehmigung 3). Zeichne es mit
scripts/storyboard.py: ein Schlüsselbild pro Beat in Originalgrößenverhältnissen, mit der Zeit, dem Ton und dem Übergang zum nächsten Beat. Zeige es und warte auf ein Ja. Der Benutzer hat diesen Check angefordert: kein Video-Rendering davor (2026-11-06). - Erstellen. Rendere, führe dann die unten stehenden Prüfungen durch und betrachte jedes Blatt selbst.
- Liefern.
post.txt, Storyboard, und teile dem Benutzer mit, was du nicht überprüfen konntest (Ton zumindest mit dem Gehör prüfen) und dass die 2-Sekunden-Haltezeit, die Sehdauer und die Kommentare das eigentliche Urteil sind.
Überspringe eine Genehmigung nur, wenn der Benutzer es für dieses Video sagt.
Renderer
Wähle je nach Material; alle schreiben 1080×1920 PNG-Frames und kodieren mit tv-range BT.709 yuv420p.
| Material | Renderer | Wie |
|---|---|---|
| Fotos, Scans, Satellitenbilder, Dokumentausschnitte | scripts/frames.py (vom Satellitenclip) | Eine Python frame_fn(t), die Vollbildbilder zusammenstellt, shade_top hinter Bildunterschriften, overlay/text für Bildunterschriften; synth für Tonereignisse; render() kodiert |
| Ein Diagramm oder eine Zahl, die sich bewegt | Eine HTML-Seite mit window.seek(t) (die Diagrammmethode unten) + scripts/seek_capture.mjs | node seek_capture.mjs <page.html> <out> stills für Kontrollbilder, dann Frames für das Video; kodiere mit ffmpeg wie in frames.encode |
| Eine illustrierte Szene (Atmosphäre, eine Metapher) | optional: cth9191/animate (MIT), ein Drittanbieter-Skill | vor der Installation fragen |
Die Diagrammmethode (von charlie947/motion-graphics-skills animated-chart, MIT): vier
Zustände — Start, eine Änderung (nichts blendet aus und wird ersetzt), Halten mit dem
Schlagzeilenwert beschriftet, Rückkehr, damit der Loop keinen Sprung hat. Jeder Frame wird allein aus t berechnet. Der
Titel, die Beschriftungen und die Achse bewegen sich nie. Runde niemals, formatiere neu oder füge eine Zahl hinzu. Nach dem
Erstellen erfasse Frames bei 0, 1, 2, 4 und 7 s und suche nach überlappendem oder abgeschnittenem Text vor dem
Video.
Benötigt numpy und Pillow für frames.py, Playwright für seek_capture.mjs (setze PLAYWRIGHT= auf
sein node_modules/playwright, wenn es nicht auflösbar ist), und ffmpeg.
Prüfungen
python3 ../demo-video/scripts/check.py <out dir> --name <name>(aus diesem Skill-Ordner) (benenne die Schnitte<name>-A.mp4/<name>-B.mp4): Größe, Bildrate, Farbe, Lautstärke, Loop-SSIM, Sicherheitszone und Kontaktbögen. Es meldet und schlägt nicht fehl: lies jede Zeile und überprüfe jede Zahl selbst auf ihr Ziel.- Betrachte das Sicherheitszonen-Blatt: keine Bildunterschrift, Zahl oder Quellenzeile unter Rot.
- Lies jede Bildunterschrift in Telefongröße (360 px breit) auf dem Kontaktbogen.
- Benenne den Helden jedes Haupt-Beats und überprüfe, ob er mindestens 40 % der Bildschirmhöhe einnimmt, und
benenne die Wende (
references/craft.md). Sage, welche Beats fehlen. - Tabelle der Behauptungen: jede sichtbare Zahl auf eine Datei zurückgeführt; jeder Vergleich gibt seine Grundlage an (welche Pizzen, welches Datum, wie viele).
- Messe den Ton Beat für Beat, sowohl im gesamten Bereich als auch über 250 Hz (was ein Telefonlautsprecher
abspielt). Der Höhepunkt muss bei beiden am lautesten sein, und die fast Stille muss leise sein. Höre dann
einmal zu, wenn du kannst; ansonsten sage, dass du es nicht getan hast. Verwende
frames.mix, um dem Höhepunkt seine eigene Lautstärke zu geben, dannframes.level; beim Pizza-Pilot ließ der alte Kompressor das Brummen lauter als den Höhepunkt.
Fallstricke
-
Eine Bildunterschrift neben einer Zahl übernimmt deren Einheit. „Die größte Lücke“ unter „4 Lei“ wird als Lei gelesen; sage „în procente“ oder lass es weg. (Treponti war prozentual der größte, La Crosta in Lei.)
-
Verwende keine Produktfotos oder Oberflächen der Apps (Wolt und Glovo AGB reservieren Bildrechte). Schreibe einen Eintrag in deine eigene neutrale Karte, datiert, oder beschneide nur Text, den du als Beweis benötigst, und sage, woher er stammt.
-
KI-generiertes Material bleibt Videos über reale Orte oder reale Preise fern; es wirkt wie inszeniert. Atmosphäre stammt von den eigenen Aufnahmen des Benutzers, aus Public-Domain-Archiven (überprüfe die Rechte jedes Elements) oder einem klar illustrierten Stil.
-
ElevenLabs „Chris“ bekommt rumänische Zahlen falsch, selbst als Ziffern (49 und 67 im Pizza-Video, 88 im Genehmigungsvideo, 2026-11-06). Transkription fängt es nicht. Höre dir jede gesprochene Zahl an und lasse den Benutzer vor dem Mischen zuhören.
-
Vor dem Posten muss die Seite live sein und die Zahlen neu überprüft werden, wenn sich die Daten geändert haben.
-
Synthetische Stimmen lesen Zahlen falsch, und Transkription wird es nicht abfangen. Ausgeschriebenes „optzeci“ kam als „opt zece“ heraus, das Transkript sagte immer noch „Optzeci“, und ein Take mit Ziffern war richtig. Der nächste Take derselben Zahl kam wieder falsch heraus, also variiert die Generierung: sobald der Benutzer einen Take genehmigt, füge dieses Audio ein und generiere es nicht neu. Nur ein menschliches Ohr kann die Aussprache überprüfen (2026-11-06).
Woher die Regeln kommen
references/craft.md enthält das Handwerk: das Finding-Beat-Blatt, die Story-Regeln, Bildunterschriften,
Material und Rechte, Ton. Quellen: ein Satellitenbildclip von Cluj-Napoca (2026-11-03), demo-videos
Handwerksnotizen, cth9191/animate Story-Grammatik (MIT), charlie947 animated-chart und
vox-explainer Regeln (MIT), StewdioAI/blank-page Frame- und Turn-Regeln (MIT) und eine Codex
Konsultation (2026-11-04).