trend-explainer-video: Produktionspipeline für Ranking-Erklärvideos (Koubo)
Diese Skill nutzt C:/Users/<Ihr Benutzername>/.workbuddy/skills/video-talkcraft (TalkCraft Skill) als Rendering-Engine und bietet für Ranking-Themen ein Arbeitsgerüst, vollständige Skripte, visuelle Standards und praktische Fehlerbehebung. Die Videotheorie/allgemeinen Prüfungen sind im TalkCraft-Kern beschrieben und werden hier nicht wiederholt.
Produktionsschritte (Befehle und Fallstricke siehe references/pipeline.md)
- Schnappschuss erfassen: Einmalig die Ranking-Seite abrufen (curl mit User-Agent), in
data/snapshot.md/.jsonspeichern – Rang/Sterne/Beschreibung/Sprache stammen ausschließlich aus diesem Abruf, keine Fälschung erlaubt. - Skript
script.json: 35-Satz-Struktur = 1 Einleitung + 10 Projekte × (Rangsatz + Details/Gesamtsterne-Satz + Wie-verwenden-Satz + Gesamtsterne-Satz) + 3 Schlussabschnitte (Zusammenfassung/Schlüsselsatz/CTA). Harte Regeln: Zahlen vollständig in chinesischen Zeichen; jedes Projekt beginnt mit „Platz eins/Platz zwei…“; jedes Projekt erhält einen „Wie verwenden“-Sprechertext (mit Verb beginnend, der erklärt, wofür/wie/welches Problem gelöst wird). Die Einleitung beginnt direkt mit dem Thema: „Heute stelle ich die Top 10 dieser wöchentlichen GitHub-Rangliste auf einmal vor.“ - Sprachausgabe:
synth_voice.py(VOICE/RATE oben, edge-tts benötigt HTTP_PROXY) →assemble_voice.py(full.wav + timestamps.json) →cp audio/full.wav remotion/public/narration.wav. - Timeline-Rekonstruktion:
make_timing.py→gen_beats.py(inkl. anchors.json-Generierung) →gen_cues.py. Drei Anker-Tabellen müssen synchron sein: REPO_ANCHORS in gen_beats, REPO_CFG in gen_cues, REPO_CFG in all.tsx, plus sceneFor in scenes/index.ts (Schlussteil chart/quote/cta-Szenennummern nach Einfügung verschieben). Jede Änderung der Sprachparameter = vollständige Neuaufbau der Kette, nie nur Audiospur ersetzen. - Projektumsetzung: Gerüst aus
assets/remotion-template/kopieren;src/data.ts(Schnappschussdaten) und insrc/scenes/all.tsxdie fünf TabellenREPO_CFG/USES/STEPS/ICONS/DETAILS+RANK_LISTRangspiegel-Tabelle ändern. Übriger Szenencode bleibt unverändert.npx tsc --noEmitzur Überprüfung. - Rendering:
node <video-talkcraft>/scripts/render_shots.mjs --all --concat out/assembled.mp4 --audio out/full-mix.wav --mux out/v?.mp4(full-mix wird anhand der Timing-Fingerprints automatisch neu gerendert). - Automatische Prüfungen (nur bei vollständig grünem Ergebnis ausliefern): beat_lint → motion_check (Stillstand + Verwacklung) → sfx_check solo+mix → workbench_contract_lint. Schwellwerte und FAIL-Rezepte siehe pipeline.md.
- Auslieferung: loudnorm zweimal (Messen → lineare Normalisierung) → delivery.mp4 → sfx_check --mix erneut ausführen → present_files.
- Cover:
gen_cover.pyerzeugt ein universelles vertikales Cover (1080×1920) ohne spezifische Projekte, zur langfristigen Wiederverwendung, Ausgabe als cover_vertical.png/.jpg.
Differenzierte visuelle Effekte dieser Pipeline (v16 festgelegt, Details siehe references/style-guide.md)
- Eigenständige Rangseite
RankPage: Die Sprechersequenz für den Rang wird als ganze Bildschirm-Seite „Platz N“ dargestellt (goldene 240px Schrift + RANK #N + Repository-Name + Sterne + 10-stufiger Fortschrittsbalken), nicht gleichzeitig mit Projektinhalten. - Content-Trio:
IllBg(Vollbild-Hintergrundillustration mit blur30+Dunkelung) +OgiCard(dynamische Illustrationskarte mit EFFECT PREVIEW + Ken Burns + Lichtpunkte + Lichtstreifen) +DemoPanel(Terminal/Raster-Demonstration), angetrieben von 3 USES-Einträgen (emoji) +DetailBlock(Detail-Karussell). - Wie-verwenden-Dreiteiler-Bildspiegel
HowScene: Drei Schritte, jeder mit einerStepIcon-Illustrationskarte (Farbverlaufshintergrund + großes Emoji + STEP-Ecke), angetrieben von den TabellenSTEPS/ICONS. - Ambiente Vollbild-Umgebungseffekte: Drei Lichtbänder mit phasenverschobenen Abtastungen, um stille Passagen in der motion_check zu korrigieren (kleine Karten/Textszenen unbedingt hinzufügen).
- Dunkles visuelles Design: Farbpalette siehe style-guide.md; Sterne in Gold #FFC94D, Wochenzuwachs in Grün #63E6A4.
Häufige Fallstricke (Details siehe references/pipeline.md)
- ImageGen-Bilderzeugung kann 429-Ratenlimit auslösen → Icon-Illustrationen mit Emoji-Icon-Karten (StepIcon) und Cover mit PIL programmgesteuert (gen_cover.py) ersetzen, kostengünstig, stabil und passend; bei Dienstwiederherstellung können KI-Bilder verwendet werden.
- motion_check erkennt stehende Passagen (freezedetect noise=0.003): Kleine Karten/statische Texte/unscharfe Hintergrundszenen – langsame Sinus-Effekte helfen nicht → Ambiente mit drei phasenverschobenen Lichtbändern (≥3 Bänder, 2 Bänder haben eine Vakuumphase).
<Video>im serverseitigen Rendering führt zwangsläufig zu Fehlern →OffthreadVideo+mutedverwenden.- Unterschiedliche fps von Material und Endvideo → motion_check erkennt „Doppelframes“; optischer Fluss mit
minterpolate=mi_mode=blend. - Windows: Symbolische Links werden alle abgelehnt → Verzeichnisse kopieren; ffmpeg 7+ ohne
-vsync→-fps_mode passthrough. - edge-tts benötigt Proxy:
HTTP_PROXY/HTTPS_PROXY=http://<Ihr Proxy>. - Änderungen an all.tsx mit Python-Atom-Umschreibung verwenden (Windows EBUSY-Rennbedingungen lassen Editieren scheitern); bash-heredoc mit Backticks in Python wird abgeschnitten → Write verwenden, um .py zu schreiben und auszuführen.
Umgebungskurzübersicht
- bash PATH in jeder Sitzung ergänzen:
PortableGit usr/bin+ffmpeg-bin; Python mit venv:C:/Users/<Ihr Benutzername>/.workbuddy/binaries/python/envs/default/Scripts/python.exe; node direkt mit der verwalteten Version ausführen; tsc mitnode_modules/typescript/lib/tsc.js(bin/tsc wird von fnm shim entführt).