Dynamische OBS-Overlays mit Variablen und Google Sheets
Punktestände, Spendenziele, Teamnamen oder das nächste Match: Solche Werte ändern sich während eines Streams. Halte sie in Variablen, und jedes Overlay, das sie nutzt, aktualisiert sich von selbst.
Vision-Konto erforderlich. Du richtest das Overlay im Editor ein. · Aktualisiert am
So funktioniert’s
Was du für ein dynamisches Overlay brauchst
Öffne ein Overlay in Vision und wähle Overlay → Variables. Leg eine Variable an und wähl, woher ihr Wert kommt: von Hand gesetzt, ein Zähler, Twitch- oder Kick-Stats, Google Sheets, eine API oder ein Webhook. Füg sie in eine Textebene ein, knüpf die Sichtbarkeit einer Ebene an sie und ändere sie per Chat, Automation oder Stream Deck. Die Browserquelle in OBS aktualisiert sich ohne Neuladen.
- Ein Vision-Overlay, das als Browserquelle in OBS eingebunden ist
- Den Basic-Plan oder höher für Variablen
- Den Pro-Plan für Google Sheets, HTTP-APIs und Webhooks
Schritt für Schritt
Ein Spendenziel-Overlay aus Google Sheets bauen
Variablen öffnen
Öffne dein Overlay im Vision-Editor und wähle Overlay → Variables. Klick auf New und wähl unter Pick a source die Quelle Google Sheets.
Tabelle verbinden
Klick auf Connect Google und erlaube den Lesezugriff. Füg die URL der Tabelle ein und setz den Bereich auf die Zelle mit deiner Summe, etwa Sheet1!B2. Nenn die Variable Spendensumme, mit dem Key donations und dem Typ number. Mit Test now siehst du den aktuellen Wert.
Ziel und Prozentwert ergänzen
Leg eine zweite Variable mit der Quelle Manual an, Key goal, Wert 1000. Dann eine dritte mit der Quelle Expression und dem Ausdruck ({donations} / {goal}) * 100. Sie enthält immer den aktuellen Prozentwert.
Werte im Overlay anzeigen
Wähl eine Textebene aus und klick in ihrer Steuerleiste auf Insert Variable. Wähl donations und schreib Text drumherum, etwa € gesammelt. Der Chip zeigt den Live-Wert im Editor und in OBS. Wenn du eine hochzählende Zahl willst, verknüpf die Punkte einer Score-Ebene mit dem Prozentwert.
Banner zeigen, sobald das Ziel erreicht ist
Füg eine Textebene mit Ziel erreicht hinzu. Klick in der Ebenenliste auf ihren Button für die Sichtbarkeitsbindung, wähl Add condition und stell donations is at least ein. Wechsel auf Compare to another variable und wähl goal. Die Vorschau zeigt, ob die Ebene gerade sichtbar ist.
Woher eine Variable ihren Wert bekommt
Jede Variable hat eine Quelle. Manual-Werte setzt du von Hand, Counter zählen in Schritten hoch und runter. Time / Clock zeigt die Uhrzeit, die Stream-Laufzeit, einen Countdown oder die Zeit seit einem Datum. Channel stats liefern 40 Werte von Twitch und Kick, etwa letzter Follower, Top-Spender oder Subs in diesem Stream. Vision Companion bringt Puls, Tempo und Gesundheitsdaten aus der Handy-App, Logo Rotation folgt einer laufenden Rotation.
Diese Quellen gibt es ab Basic. Pro ergänzt Google Sheets, HTTP API und Webhook, Daten aus Quizshows und Turnieren sowie Live-Fußballergebnisse mit Stream-Verzögerung, damit das Overlay kein Tor verrät, bevor deine Zuschauer es sehen.
Jede Variable gilt entweder nur in einem Overlay oder in all deinen Overlays. Das legst du beim Anlegen unter Scope fest; später lässt es sich nicht mehr ändern.
Google Sheets, APIs und Webhooks verbinden
Google Sheets liest eine Zelle pro Variable, mit reinem Lesezugriff auf dein Google-Konto. Nutz eine Variable pro Zelle, die du zeigen willst. Vision prüft die Zelle bis zu alle 15 Sekunden.
HTTP API fragt eine URL per GET oder POST bis zu alle 5 Sekunden ab. Einen Wert aus JSON holst du mit einem Pfad wie data.items[0].value, dazu Bearer-Token, Basic Auth oder eigene Header. Die Anfragen laufen auf den Servern von Vision, Tokens landen also nie in der Browserquelle.
Webhook gibt der Variable eine private URL. Schick JSON oder Text aus jedem Tool, Skript oder Dienst dorthin, und der Wert ändert sich sofort. Der Editor zeigt ein fertiges curl-Beispiel zum Testen.
Ebenen an die Werte anpassen
Textebenen zeigen Variablen als Chips. Score-Ebenen können ihre Punkte aus einer Variable nehmen, Countdown-Ebenen ihre Start- oder Endzeit.
Jede Ebene kann ihre Sichtbarkeit an Regeln knüpfen. Verknüpf sie mit ALL oder ANY, prüf Zahlen, Text, reguläre Ausdrücke oder Daten und vergleich mit einem festen Wert oder einer anderen Variable. Blende einen Sponsor-Slot aus, solange sein Wert leer ist, oder zeig eine Ebene nur am Spieltag.
Expression-Variablen berechnen einen Wert aus anderen, mit Grundrechenarten, Vergleichen, Bedingungen in der Form ? : und Funktionen wie round, min, max und clamp. Sie rechnen neu, sobald sich ein Eingangswert ändert.
Werte per Chat, Automation und Stream Deck ändern
Manual- und Counter-Variablen lassen sich ändern, während du live bist. Füg im Chatbot einem Befehl oder Timer eine Variable-Aktion hinzu, um eine Variable zu setzen, zu erhöhen, zu verringern oder zurückzusetzen, auf Twitch und Kick. Der Wert steht im Befehl fest.
Automationen, derzeit in der Beta, können starten, wenn sich eine Variable ändert, und Variablen als Schritt im Ablauf setzen, etwa subs_today bei jedem neuen Sub um eins erhöhen. Ein Chat-command-Trigger gibt außerdem weiter, was nach dem Befehl getippt wurde: Setz eine Variable auf {{trigger.arg1}}, und !score 5 setzt sie auf 5.
Das Vision-Plugin fürs Stream Deck hat eine Variable-Aktion zum Addieren, Subtrahieren, Setzen und Zurücksetzen. Hotkeys für Zähler funktionieren, solange der Overlay-Editor offen ist.
Fehlerbehebung
Wenn etwas nicht klappt
- Kein Eintrag Variables im Overlay-Menü? Variablen brauchen den Basic-Plan oder höher.
- Der Wert aus Sheets ändert sich nicht? Prüf den Bereich und klick auf Reload now. Meldet er Last poll failed, stell sicher, dass das verbundene Google-Konto die Tabelle öffnen kann.
- Ein Chatbefehl oder Stream-Deck-Button tut nichts? Nur Manual- und Counter-Variablen lassen sich so ändern.
- Eine Ebene bleibt ausgeblendet? Öffne ihre Sichtbarkeitsregeln. Die Vorschau zeigt Waiting for values…, bis jede Variable in den Regeln einen Wert hat.
FAQ
Dynamische Overlays: häufige Fragen
Muss ich die Browserquelle neu laden, wenn sich ein Wert ändert?
Nein. Neue Werte werden in Echtzeit ans Overlay geschickt. Uhren und Ausdrücke rechnen direkt im Overlay neu.
Kann Vision in mein Google Sheet schreiben?
Nein. Vision liest nur, eine Zelle pro Variable, mit reinem Lesezugriff auf dein Google-Konto.
Können Zuschauer im Chat einen Wert setzen, etwa mit !score 5?
Ja, mit einer Automation. Leg einen Chat-command-Trigger für !score an, auf Wunsch nur für Mods, und verbinde eine Variable-Aktion, die score auf {{trigger.arg1}} setzt. Befehle im Chatbot selbst setzen nur feste Werte.
Was passiert mit meinen Variablen, wenn ich downgrade?
Deine Overlays zeigen sie weiter an, im Free-Plan kannst du sie aber nicht mehr bearbeiten.