OBS
Connect OBS Studio via WebSocket — scene, stream, recording, media, and filter triggers and handlers.
OBS
The OBS plugin connects to OBS Studio via WebSocket for scene changes, stream/recording control, media sources, filters, and more.
Settings
Open Plugins → OBS:
| Setting | Description |
|---|---|
| Host | WebSocket host (127.0.0.1 default). Supports full ws:// or wss:// URLs. |
| Port | WebSocket port (4455 default). Ignored when host is a full URL. |
| Password | OBS WebSocket server password (required) |
Use Test connection, Connect, or Disconnect. The plugin auto-connects on enable when host, port, and password are set, and keeps retrying every 5 seconds until OBS is available or you disconnect manually.
The plugin reports configured when host, port, and password are all set. Connection status is shown separately in the settings alerts.
Enable the WebSocket server in OBS: Tools → WebSocket Server Settings, and enable authentication with a matching password.
Triggers
Triggers are grouped under OBS in the action editor. Highlights:
| Group | Examples |
|---|---|
| Scene & transition | Scene changed, preview scene, transition started/ended |
| Stream | Starting, started, stopping, stopped, reconnecting |
| Recording | Started, paused, resumed, stopped, file changed |
| Source | Input muted/unmuted, shown/hidden |
| Media | Media started/ended, media action triggered |
| Filter | Filter enabled/disabled |
Scene, transition, and input triggers support name matching (equals, contains, starts/ends with).
Full list with IDs: OBS triggers.
Handlers
| Group | Examples |
|---|---|
| Stream | Start / stop / toggle stream, send caption, get stream status |
| Recording | Start / stop / pause / resume / split, get record status, chapters |
| Media | Set file, trigger action, seek, get media status |
| Filter | Enable/disable/toggle, set settings, create/remove |
| Scene | Set program/preview scene, transitions, studio mode, virtual cam |
Set Media Input File updates ffmpeg_source, vlc_source, or media_source and can wait for playback duration before continuing the chain. Cloud file refs (/api/files/...) resolve to a local offline-cache path when Keep cloud files offline is enabled (with authenticated URL fallback if the file is not on disk yet), otherwise to an authenticated PocketBase URL, and are set as local_file (OBS network mode is avoided because it reconnects and loops finite files).
Get Stream/Record/Media Status writes action-scoped variables for later handlers (streamActive, recordDuration, mediaState, …).
Full list: OBS handlers.
Trigger variables
Common fields for \{interpolation\}:
| Variables | Source |
|---|---|
sceneName, sceneUuid | Scene triggers |
inputName, inputUuid | Source / media |
outputState, outputPath | Stream / recording |
filterName, filterEnabled | Filter triggers |
Each trigger page lists its variables in the API Reference.