Stream Kit Docs
Plugins

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:

SettingDescription
HostWebSocket host (127.0.0.1 default). Supports full ws:// or wss:// URLs.
PortWebSocket port (4455 default). Ignored when host is a full URL.
PasswordOBS 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:

GroupExamples
Scene & transitionScene changed, preview scene, transition started/ended
StreamStarting, started, stopping, stopped, reconnecting
RecordingStarted, paused, resumed, stopped, file changed
SourceInput muted/unmuted, shown/hidden
MediaMedia started/ended, media action triggered
FilterFilter enabled/disabled

Scene, transition, and input triggers support name matching (equals, contains, starts/ends with).

Full list with IDs: OBS triggers.

Handlers

GroupExamples
StreamStart / stop / toggle stream, send caption, get stream status
RecordingStart / stop / pause / resume / split, get record status, chapters
MediaSet file, trigger action, seek, get media status
FilterEnable/disable/toggle, set settings, create/remove
SceneSet 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\}:

VariablesSource
sceneName, sceneUuidScene triggers
inputName, inputUuidSource / media
outputState, outputPathStream / recording
filterName, filterEnabledFilter triggers

Each trigger page lists its variables in the API Reference.

On this page