StreamElements-Style Overlay System. Canvas Editor, Alert Designer, Widget Builder โ alles self-hosted.
Wie StreamElements, aber self-hosted + tief integriert mit Workflow Engine
Eine transparente Webseite die in OBS als Browser Source geladen wird. Zeigt Alerts, Widgets, Branding โ alles was der Zuschauer im Stream sieht (auรer dem Spiel). Jedes Overlay hat eine eigene URL mit Token-Auth.
StreamElements/StreamLabs: Cloud-hosted, Daten bei Dritten, Features kosten Geld, kein Custom Code. Unser System: Volle Kontrolle, direkte Integration mit Discord/Twitch Bots + Workflow Engine + Donation System.
Zwei halbe Systeme, beide unfertig
Altes SSE-basiertes alert.html + neues Canvas-basiertes React-System. Beide aktiv, beide unfertig. Routes redirecten von alt zu neu โ chaotische Migration.
OverlayMedia Tabelle existiert, Upload-Handler initialisiert aber nie aufgerufen. Kein Image Picker im Canvas Editor. UploadThing nur halb integriert.
Custom CSS/HTML wird mit dangerouslySetInnerHTML injiziert. Template-Variablen ({user}, {message}) nicht escaped. User-Input direkt im DOM.
Widget-รnderungen im Editor werden nicht live zum OBS-Overlay gepusht. Man muss die Browser Source in OBS refreshen um รnderungen zu sehen.
Hardcoded auf 0 im Renderer. Kein Twitch API Feed angebunden. Andere Widgets auch nur halb funktional.
Kein Template-System fรผr Overlay-Designs. Jedes Overlay von Null erstellt. Kein Import/Export.
Ein System, sauber durchdacht
Kein SSE mehr. Alles รผber WebSocket: Alert Events, Live-Edit Sync, Widget State Updates. Ein Kanal, ein Protokoll.
Widget im Editor verschieben โ sofort sichtbar in OBS. Canvas-State wird per WebSocket gesynced. Kein Browser Source Refresh nรถtig.
Alerts werden NICHT direkt vom Bot getriggert sondern รผber die Workflow Engine. Dort: Conditions, Delays, Custom Logic. Maximale Flexibilitรคt.
Drag'n'Drop Widget-Platzierung auf 1920ร1080 Canvas
Pro Event-Type mehrere Varianten basierend auf Schwellwerten
1 Variante ยท bounceIn ยท 4s
3 Varianten (Tier 1/2/3) + Resub
2 Varianten (1-5 / 5+ Gifts)
4 Varianten (1-99 / 100-999 / 1K+ / 5K+)
3 Varianten (<10 / 10-50 / 50+ Viewer)
4 Varianten (<5โฌ / 5-20โฌ / 20-50โฌ / 50โฌ+)
Pro Reward konfigurierbar
Workflow Engine Trigger
{user} Username ยท
{amount} Betrag ยท
{message} Nachricht ยท
{tier} Sub Tier ยท
{months} Monate ยท
{viewers} Raid Viewer ยท
{total} Gesamt-Betrag
Countdown Timer der bei Events Zeit dazu bekommt
Countdown der durch Events verlรคngert wird. State persistent in DB โ รผberlebt OBS Restart. Start/Stop per Admin Panel, Chat Command oder Workflow Action.
!subathon start 2h โ Start mit 2h Countdown!subathon pause / !subathon resume!subathon add 10m โ Manuell Zeit hinzufรผgen!subathon end โ Sofort beendenStatischer oder dynamischer Text. Kann Variablen enthalten: {subCount}, {game}, {title}, {viewers}. Font, Grรถรe, Farbe, Schatten.
Bilder, GIFs, Logos. Aus Media Library oder URL. Contain/Cover Fit, Opacity, Border Radius, Animation.
Must HaveVideo Clips. Loop, Mute, Autoplay. Stinger Transitions, Animated Backgrounds.
Should HaveEvent-Alerts mit Tier-Conditions. Unterschiedliches Bild/Sound/Video je nach Betrag. Queue: Sequential/Stack/Replace.
Must HaveLive Twitch Chat. Badges, Emotes (BTTV/FFZ/7TV), Max Messages, Fade-Out.
Must HaveFlexibel: Bar, Circle, Thermometer, oder Text Only ({current} / {target}). Datenquelle: Sub Count, Follower, Donations, Bits, oder Custom Value (API/Workflow setzbar).
Live Viewer Anzahl. Twitch API Feed. Als Text-Variable auch in anderen Widgets nutzbar.
Should Have5 Modi: Uptime, Countdown, Subathon (Zeit-Adds), Stopwatch, Event Counter. Steuerbar per Panel, Chat, StreamDeck, Workflow.
Must HaveTop Donators, Cheerers, Gifters. Zeitraum: Stream/Woche/Monat/All-Time.
Should HaveAudio/Video abspielen via Workflow Action. Sound Alerts, Video Reactions, Meme Sounds.
Should HaveGlรผcksrad, Random Pick. Fรผr Giveaways, Viewer-Games. Trigger per Chat oder Workflow.
Could HaveEmotes fliegen / regnen รผber den Screen wenn Chat sie spammt. Threshold konfigurierbar. BTTV/FFZ/7TV Support.
Should HaveAktueller Song (Spotify Integration). Cover Art, Artist, Title. Auto-Hide wenn nichts spielt.
Should HaveScrollender Text. Fรผr Ankรผndigungen, Social Links, Sponsoren. Geschwindigkeit + Richtung konfigurierbar.
Should HaveBeliebiges HTML/CSS/JS. Sandbox fรผr Sicherheit. Fรผr alles was kein Standard-Widget abdeckt.
Must HaveJedes Text-Widget kann dynamische Variablen verwenden. Beispiel fรผr ein Goal Display ohne Bar:
{subCount} / 1154 Subs{subCount}
{followerCount}
{viewers}
{game}
{title}
{uptime}
{donationTotal}
{bitTotal}
{lastFollower}
{lastSub}
{topDonator}
{customVar:name}
Ein Timer Widget, 5 verschiedene Modi
Zรคhlt hoch seit Stream Start. Automatisch. Format: hh:mm:ss
Zรคhlt runter auf 0. Fรผr Events, Pausen, Giveaway-Timer. Trigger bei 0: Workflow Action.
Countdown + automatische Zeit-Adds bei Subs/Bits/Donations. Persistent in DB. Cap optional.
Manuell Start/Stop. Fรผr Speedruns, Challenges. Per Chat, Panel oder StreamDeck steuerbar.
Zeigt Zahl statt Zeit. Deaths, Wins, Custom Counter. Increment per Chat Command oder Event.
Alle Modi steuerbar per:
โข Admin Panel Buttons
โข Chat Commands (!timer)
โข StreamDeck Plugin
โข Workflow Actions
| Feature | StreamElements | Codenull V4 |
|---|---|---|
| Canvas Editor | โ Drag'n'Drop | โ Drag'n'Drop (React DnD) |
| Alert Designer | โ Per Event Type | โ Per Event Type + Workflow Conditions |
| Widget Library | โ 30+ Widgets | โ 12 Widgets + Custom HTML |
| Live-Edit Sync | โ Cloud Sync | โ WebSocket Sync (instant) |
| Custom Code | โ ๏ธ Limited | โ Full HTML/CSS/JS (sandboxed) |
| Templates | โ Community Store | โ Import/Export JSON + Presets |
| Media Hosting | โ SE CDN | โ Self-hosted + UploadThing |
| TTS | โ Google/Amazon TTS | โ Web Speech API + Browser TTS |
| Automation | โ ๏ธ Basic Rules | โ Full Workflow Engine (Drag'n'Drop) |
| Donation Integration | โ SE Tips | โ Own Donation System (Stripe/PayPal) |
| Self-Hosted | โ Cloud Only | โ 100% Self-Hosted |
| Data Ownership | โ SE owns data | โ Deine Daten |
Geklรคrt am 2026-03-18
Flexibel halten โ UploadThing fรผr schnellen Start, Self-hosted als Option spรคter. Abstraction Layer damit beides geht.
Gratis, keine Drittanbieter-Abhรคngigkeit. Qualitรคt reicht fรผr Stream-Alerts. Lรคuft direkt im OBS Browser Source.
Overlays als JSON exportieren/importieren. Kein Community-Marktplatz โ nur lokaler Import/Export fรผr Backup und Sharing.
Ein primรคres Overlay in dem alles platziert wird. Widgets kรถnnen per Workflow oder manuell getoggelt werden (show/hide). Kein Multi-Canvas nรถtig.
<iframe sandbox="allow-scripts"> isoliert Custom Code. Kommunikation รผber postMessage fรผr Variablen-Updates. Browser macht die Isolation.
Alle Alerts laufen durch eine Queue โ einer nach dem anderen. Kein รberlappen von Sounds/Animationen. Verhindert Chaos bei vielen Events gleichzeitig.
Live Event-รbersicht als OBS Custom Dock (Browser Panel via SSE)
Ein OBS Custom Browser Dock (nicht Browser Source!) das in OBS als Panel angedockt wird. Zeigt eine Live-Liste aller eingehenden Events: Follows, Subs, Bits, Donations, Raids. Wie das "Recent Events" Panel in StreamElements.
https://codenull.de/obs/events?token=xxx