Kurz gesagt: Wir haben alle automatischen YouTube-Pipelines gestoppt. Der Grund ist simpel: Die bisherigen Videos erreichten nicht die Qualitätsstandards, die wir an eigenen Content stellen. Stattdessen bauen wir jetzt eine einzige Pipeline, die echte, interessante Geschichten erzählt – basierend auf öffentlichen Reddit- und Hacker-News-Quellen, komplett autonom, mit englischem Voice-over, das die gesamte Videolänge sinnvoll abdeckt.
Ausgangslage: Drei Pipelines, ein Qualitätsproblem
Bis Juli 2026 liefen bei uns drei parallele Video-Produktionsstränge:
- Daily Longform: Täglich ein langes Video (Remotion + TTS)
- Shorts 3x Daily: 09:00 / 15:00 / 21:00 UTC, Template-basierte deutsche Skripte
- Weekly Queue Upload: Montags ein Video aus dem Backlog
Das Problem: Die Shorts nutzten Template-Texte mit sich wiederholenden Phrasen wie „Unschlagbare Präzision…“ oder „Das Ende ändert alles…“. Das Voice-over deckte oft nur die erste Videohälfte ab, die zweite Hälfte lief stumm. Zuschauer merken das sofort – Retention bricht ein, der Algorithmus straft ab.
Der Wendepunkt: Kritisches Feedback Ende Juli
Am 23. Juli kam die klare Ansage: „Die aktuelle Audiogenerierung erfüllt die Qualitätsanforderungen weiterhin nicht.“ Konkrete Kritikpunkte:
- Voice-over besteht aus sich wiederholenden Kurzphrasen
- Keine zusammenhängende Geschichte (Einleitung → Hauptteil → Abschluss)
- Wiederholungen wirken wie Spam
- Zweite Videohälfte oft stumm
Die Konsequenz war radikal: Alle Pipelines pausieren. Volle Fokussierung auf eine einzige, qualitativ hochwertige Reddit-Story-Pipeline.
Neue Architektur: Reddit-Story-Pipeline (Strict Quality Mode)
Prinzip: Quality > Frequency
Die neue Pipeline hat HARD FAIL Quality Gates. Wenn ein Kriterium nicht erfüllt ist, wird das Video nicht hochgeladen. Lieber ein Slot auslassen als minderwertigen Content veröffentlichen.
| Qualitätskriterium | Schwellenwert | Prüfmethode |
|---|---|---|
| Voice-over Deckung | 100% der Videolänge | Audio-Dauer ≥ Video-Dauer |
| Keine Audio-Loops | Kreuzkorrelation ≤ 95% | Signalvergleich |
| Keine Stille | Max. 1 Sekunde | RMS-Analyse |
| Hintergrundmusik | 10-15% Lautstärke, thematisch passend | FFmpeg loudnorm + ducking |
| Audio Ducking | -18 dB während Sprache, -12 dB in Pausen | Sidechain-Kompression |
| Sprachqualität | LRA ≤ 7 LU, True Peak ≤ -1 dBTP | EBU R128 Messung |
| Thematischer Fit | Story passt zu Video-Kategorie | LLM-Klassifikation |
| Natürlicher Fluss | Pitch/Energy Variation, keine Roboter-Pausen | Prosodie-Analyse |
Story-Quellen: Öffentlich, kein API-Key nötig
Da die Reddit-API restriktiv ist und Public Scraping blockiert wird, setzen wir auf:
- Hacker News API (offiziell, keine Auth nötig): Top Stories + Ask HN + Show HN
- Öffentliche Reddit-RSS-Feeds (rate-limited, aber nutzbar)
- Alternative freie Quellen als Fallback
Thema → Visual Mapping
Jede Story wird thematisch klassifiziert und bekommt passendes Gameplay-Material:
| Story-Thema | Visuelle Kategorie | Suchbegriffe (yt-dlp) |
|---|---|---|
| Revenge / ProRevenge | gameplay_satisfying | factory, production, assembly, perfect_loop, mesmerizing |
| Malicious Compliance | gameplay_precision | aim, sniper, headshot, clutch, perfect_timing |
| Petty Revenge | gameplay_funny | ragdoll, physics, fail, glitch |
| TIFU | gameplay_chaos | explosion, destruction, mayhem, disaster |
| Confession | cozy_gameplay | farming, cooking, decorating, peaceful, stardew |
| Glitch in the Matrix | simulation_abstract | particle, fluid, physics_sim, abstract, hypnotic |
| Relationships | cinematic_walking | walking, exploration, scenic, atmospheric |
| Workplace | office_simulation | office, work, typing, meeting, corporate |
| Creepy / Horror | dark_atmospheric | horror, dark, creepy, liminal, backrooms |
| Wholesome | crafting_building | building, crafting, construction, lego |
LLM-Rewrite: Keine Templates für den Kerninhalt
Das Herzstück: Jede Story wird vom LLM (OpenRouter: nvidia/nemotron-3-ultra-550b-a55b:free) in eigenen Worten neu geschrieben. Der Prompt erzwingt:
- Struktur: Hook → Beginning → Middle (Twist/Escalation) → End (Resolution) → CTA
- Natürliches, flüssiges Englisch (kein Deutsch, keine Templates)
- Kein Copy-Paste aus dem Original
- Unterhaltsam unabhängig vom Hintergrundvideo
\li>~135 Wörter (ca. 55 Sekunden bei 2.5 Wörter/Sekunde)
Technische Umsetzung: Python Pipeline mit FFmpeg
Die Pipeline läuft auf unserem TrueNAS SCALE Server (32-Core EPYC) und nutzt:
- yt-dlp für Gameplay-Downloads (nur Videos mit Zulässigen Rechten)
- FFmpeg für 9:16 Crop, Sidechain-Ducking, Loudness-Normalisierung
- gTTS für englisches TTS (en-US, natürliche Stimme)
- OpenRouter API für LLM-Rewrite
- YouTube Data API v3 für OAuth-Upload + Scheduling
Aktueller Blocker: Reddit blockiert Scraper
Reddit zeigt Verifikationsseiten (Cloudflare) und RSS-Feeds liefern 429 (Rate Limit). Hacker News funktioniert, aber die Stories sind oft Link-Posts mit wenig Text. Lösung in Arbeit:
- Alternative Story-Quellen (öffentliche RSS-Aggregatoren, News APIs)
- MIN_STORY_LENGTH weiter reduzieren für HN Ask/Show Posts
- End-to-End-Test mit verfügbaren Inhalten
Lessons Learned: Warum Quality Gates nicht verhandelbar sind
- Template-basierte Skripte skalieren nicht – Zuschauer erkennen Muster sofort
- Stille zweite Hälfte = Algorithmus-Selbstmord – Retention bricht bei 50% ein
- Deutsches TTS auf Gaming-Hintergrund wirkt fremd – Englisch ist die Lingua Franca von YouTube Shorts
- Automatisierung ohne Qualitätskontrolle = Spam – HARD FAIL Gates zwingen zur Exzellenz
- Story > Visuals – Ein gutes Voice-over trägt schlechtes Video, umgekehrt nicht
Fazit & Ausblick
Wir haben bewusst Reichweite geopfert für Qualität. Alle drei Pipelines sind pausiert, bis die Reddit-Story-Pipeline 10 Testvideos produziert, die alle Quality Gates bestehen. Erst dann gehen wir wieder live – mit 3 Shorts täglich, die echte Geschichten erzählen, natürlich klingen und Zuschauer bis zur letzten Sekunde halten.
Die Pipeline ist strukturell fertig (reddit_story_pipeline.py, quality_gate_validator.py, shorts_pipeline.py), Syntax-validiert, und wartet nur auf belastbare Story-Quellen. Sobald die 10 Testvideos durchlaufen, reaktivieren wir die Cron-Jobs (074dd04d7e3a für 3x Daily Shorts) und skalieren auf Basis der Analytics (Retention, CTR, Subs).
Weiterführende Artikel
- Projekte-Übersicht: Homelab, YouTube, Automatisierung
- Tool- & Script-Hub: FFmpeg, yt-dlp, Python Snippets
- Homelab-Automatisierung mit Hermes Agent: WordPress-Posts autonom erstellen
- Homelab & IT Learnings: Was in den letzten Wochen wirklich funktioniert hat
🎯 Empfehlung: OpenClaw: Selbst-gehosteter KI-Assistent im Homelab – mehr zu selbst gehosteter KI und OpenClaw im Homelab.