Repository navigation
Stream Deck de
English · Deutsch · Español · Startseite
Rivulet implementiert das OBS-WebSocket-v5-Protokoll (JSON) — genau das Protokoll, das die OBS-Plugins im Stream-Deck-Ökosystem sprechen. Plugin auf Rivulets Port und Passwort zeigen, und das Deck steuert Szenen, Aufnahme, Streaming und Mute — ohne zusätzliche Bridge-Software.
Welches Plugin? Installiere ein Stream-Deck-Plugin, das obs-websocket v5 spricht (obs-websocket-js-basiert, z. B. „OBS Tools“ von BarRaider, oder die Integrationen von Bitfocus Companion / Touch Portal). Die offiziellen „OBS Studio“-Plugins von Elgato sind interne OBS-Plugins und verbinden sich nicht über obs-websocket.
Öffne Settings → OBS WebSocket (Stream Deck):
- Remote control aktivieren anhaken.
-
Port notieren — Standard
4455, OBS-kompatibel. - Optional ein Passwort setzen. Leer bedeutet ohne Authentifizierung.
Der Server lauscht nur auf 127.0.0.1: er ist von diesem Rechner erreichbar (und damit von der Stream-Deck-Software darauf), nicht von anderen Maschinen. Wer Rivulet vom Handy oder einem anderen Rechner steuern will, nutzt den Remote-Begleiter — ein LAN-Bind dort erfordert ein Passwort und für Stream-Start/Stopp eine ausdrückliche Freigabe.
In den OBS-WebSocket-Einstellungen des Plugins (Stream-Deck-App → Aktion → Verbindung):
| Feld | Wert |
|---|---|
| Host | 127.0.0.1 |
| Port |
4455 (der konfigurierte Port) |
| Passwort | das in Rivulet gesetzte Passwort, oder leer wenn Authentifizierung aus ist |
| Protokollversion | 5 (manche Plugins fragen explizit; 5 wählen, nicht 4) |
Das Plugin führt danach selbst den v5-Handshake aus: Hello → Identify (mit der SHA-256-Auth-Antwort bei Passwort) → Identified, und abonniert die Events, die es braucht. Szenen-Dropdowns füllen sich über GetSceneList; bleibt eine Liste leer, Refresh in den Aktions-Einstellungen drücken, während Rivulet läuft.
| Deck-Aktion | Gesendeter Request | Hinweis |
|---|---|---|
| Szene wechseln | SetCurrentProgramScene |
Szenennamen kommen aus GetSceneList
|
| Aufnahme Start/Stopp |
StartRecord / StopRecord
|
oder ToggleRecord als Umschalter |
| Aufnahme Pause/Weiter |
PauseRecord / UnpauseRecord
|
Knopfzustand folgt RecordStateChanged
|
| Stream Start/Stopp |
StartStream / StopStream
|
oder ToggleStream als Umschalter |
| Mute | ToggleInputMute |
braucht den Input-Namen aus GetInputList
|
| Replay speichern | SaveReplayBuffer |
sichert den gepufferten Clip (optional mit explizitem Pfad) |
| Replay Ein/Aus | ToggleReplayBuffer |
Replay-Puffer aktivieren/deaktivieren |
| Studio-Modus | SetStudioModeEnabled |
unabhängige Vorschau-/Programm-Szenen |
| Status-Icons |
GetRecordStatus / GetStreamStatus / GetReplayBufferStatus
|
beim Verbinden und bei jedem Zustands-Event |
Knöpfe zeigen die Realität: Zustandsänderungen, die du im Rivulet-Fenster machst (Aufnahme-Knopf, Mute im Mixer, Szenenwechsel), werden als v5-Events an alle verbundenen Decks gesendet — die Icons bleiben aktuell, ohne dass du das Deck anfasst. Requests, die nicht gelingen können, antworten ehrlich — z. B. liefert Stream-Start ohne konfigurierten Ingest Status 501 mit Kommentar statt pseudo-Erfolg.
- Passwort setzen auf geteilten Rechnern: ohne eins kann jeder lokale Prozess Szenen wechseln oder Aufnahme/Stream starten und stoppen.
- Der Server bindet sich nie selbst über Loopback hinaus; LAN-Zugriff läuft über die expliziten Freigaben des Remote-Begleiters.
- Remote-Stream-Start/Stopp von Flächen jenseits von Loopback erfordert das explizite Rechtemarker (Settings → Remote-Begleiter).
| Symptom | Wahrscheinliche Ursache |
|---|---|
| „Waiting for OBS“ / Verbindungs-Loop | Server in Rivulet nicht aktiviert oder falscher Port |
| Authentifizierungsfehler | Passwort unterscheidet sich zwischen Plugin und Rivulet (oder in einem gesetzt, im anderen nicht) |
| Szenen-Dropdown leer | Refresh in den Aktions-Einstellungen drücken; prüfen, dass Rivulet Szenen hat |
| Aufnahme-Knopf macht nichts, Plugin zeigt 204/UnknownRequest | Das Plugin nutzt v4-Request-Namen oder Protokollversion 4 — Plugin/Verbindung auf Version 5 stellen |
| Stream-Start schlägt fehl mit 501 | Kein Ingest im Stream-Bereich von Rivulet konfiguriert |
| Mute macht nichts | Input-Name passt nicht — den Input aus GetInputList wählen (Rivulet publiziert seine Quellen dort) |
Rivulets Server spricht exakt die v5-Wire-Namen (StartRecord, ToggleStream, ToggleInputMute) und lehnt die alten v4-Schreibweisen ab — wie echtes obs-websocket. Ein CI-Kompatibilitätstest fährt die komplette Connect-then-Control-Sequenz der Plugins. Details und rohe Payload-Beispiele: die obs-websocket-Doku.
Last reviewed: 2026-09-22
Verwandt: Streaming — Live-Streaming einrichten · Troubleshooting und FAQ