Recording
Toggles recording on or off in the selected OBS instance.
Use this when the same button should start recording if OBS is idle, or stop recording if OBS is already recording.
| Box Name | Type | Description |
|---|---|---|
| OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
OBS WebSocket 5 Request: ToggleRecord
No request fields — starts recording if idle, stops it if active.
| Response Field | Type | Description |
|---|---|---|
| outputActive | Boolean | true if recording is now active, false if it was stopped. |
Starts recording in the selected OBS instance.
Use this when you explicitly want OBS to begin a recording. If OBS is already recording, OBS may ignore the request or return an error depending on the OBS WebSocket version.
| Box Name | Type | Description |
|---|---|---|
| OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
OBS WebSocket 5 Request: StartRecord
No request fields — starts the configured recording output immediately.
Stops the active recording in the selected OBS instance.
Use this when you explicitly want OBS to finish the current recording. The final file location and format are controlled by your OBS recording settings.
| Box Name | Type | Description |
|---|---|---|
| OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
OBS WebSocket 5 Request: StopRecord
No request fields — stops and finalizes the current recording.
| Response Field | Type | Description |
|---|---|---|
| outputPath | String | The file path of the saved recording (e.g. C:/Videos/recording.mkv). |
Pauses the active recording in the selected OBS instance.
Use this when OBS is currently recording and you want to pause the recording without ending the recording file.
| Box Name | Type | Description |
|---|---|---|
| OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
OBS WebSocket 5 Request: PauseRecord
No request fields — pauses the active recording. Use Resume Recording to continue.
Resumes the active recording in the selected OBS instance if it is paused.
Use this after Pause Recording to continue recording into the same recording session.
| Box Name | Type | Description |
|---|---|---|
| OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
OBS WebSocket 5 Request: ResumeRecord
No request fields — resumes a paused recording.
Controls the OBS Replay Buffer — Start, Stop, or Toggle it using the dropdown.
| Box Name | Type | Description |
|---|---|---|
| OBS | Dropdown | OBS to send this command to, if using multiple OBS connections. |
| Action | Dropdown | Whether to Start, Stop, or Toggle the Replay Buffer. |
The Replay Buffer continuously records the last N seconds of your stream/output in memory. Use Save Replay Buffer to save the current buffer to a file, and Get Last Replay Buffer to retrieve the saved file path.
The Replay Buffer must be enabled in OBS before using this command. To enable it:
- Open OBS and go to Settings (bottom right)
- Select Output on the left
- Set Output Mode to Advanced if not already selected
- Open the Replay Buffer tab
- Check Enable Replay Buffer
- Set Maximum Replay Time (e.g. 30, 60, or 120 seconds)
- Click Apply and OK
OBS WebSocket 5 Request: StartReplayBuffer / StopReplayBuffer / ToggleReplayBuffer
| Action | Request Sent |
|---|---|
| Start | StartReplayBuffer |
| Stop | StopReplayBuffer |
| Toggle | ToggleReplayBuffer |
ToggleReplayBuffer returns an outputActive boolean indicating whether the buffer is now active.
Saves the current contents of the OBS Replay Buffer to a file.
| Box Name | Type | Description |
|---|---|---|
| OBS | Dropdown | OBS to send this command to, if using multiple OBS connections. |
The Replay Buffer must be running when this command is executed, otherwise OBS will ignore it. The file is saved to the path and format configured in OBS under Settings → Output → Replay Buffer.
The Replay Buffer must be enabled in OBS before using this command. To enable it:
- Open OBS and go to Settings (bottom right)
- Select Output on the left
- Set Output Mode to Advanced if not already selected
- Open the Replay Buffer tab
- Check Enable Replay Buffer
- Set Maximum Replay Time (e.g. 30, 60, or 120 seconds)
- Click Apply and OK
Use Control Replay Buffer to start the buffer, and Get Last Replay Buffer to retrieve the saved file path after saving.
OBS WebSocket 5 Request: SaveReplayBuffer
No request fields — saves the buffer immediately using OBS’s configured output path and format.
Gets the file path of the last saved Replay Buffer recording and saves it as a string variable.
| Box Name | Type | Description |
|---|---|---|
| OBS | Dropdown | OBS to send this command to, if using multiple OBS connections. |
| Save Variable As | String | Variable name to save the file path. |
The Replay Buffer must be enabled and have been saved at least once in the current OBS session for this to return a path. To enable it:
- Open OBS and go to Settings (bottom right)
- Select Output on the left
- Set Output Mode to Advanced if not already selected
- Open the Replay Buffer tab
- Check Enable Replay Buffer
- Set Maximum Replay Time (e.g. 30, 60, or 120 seconds)
- Click Apply and OK
Use this command after Save Replay Buffer to know the exact path where the clip was saved, e.g. to move, rename, or upload the file.
Saved Value:
| Value | Type | Description |
|---|---|---|
| savedVariable | String | Full file path of the last saved Replay Buffer clip (e.g. C:/Replays/Replay 2024-01-15 18-30-00.mkv). |
| undefined | Undefined | Saved if OBS is not connected, ws5 is not in use, or no replay has been saved yet in the current session. |
OBS WebSocket 5 Request: GetLastReplayBufferReplay
No request fields.
| Response Field | Type | Description |
|---|---|---|
| savedReplayPath | String | Full local file path of the last saved replay. Saved directly to your variable. |
Example SAMMI Response:
C:/Users/streamer/Videos/Replays/Replay 2024-01-15 18-30-00.mkv
Gets the current active state of the OBS Replay Buffer and saves it as a boolean.
| Box Name | Type | Description |
|---|---|---|
| OBS | Dropdown | OBS to send this command to, if using multiple OBS connections. |
| Save Variable As | String | Variable name to save the status. |
Useful for conditional logic — e.g. only trigger a save if the buffer is actually running.
The Replay Buffer must be enabled in OBS for it to ever report true. To enable it:
- Open OBS and go to Settings (bottom right)
- Select Output on the left
- Set Output Mode to Advanced if not already selected
- Open the Replay Buffer tab
- Check Enable Replay Buffer
- Set Maximum Replay Time (e.g. 30, 60, or 120 seconds)
- Click Apply and OK
Saved Value:
| Value | Type | Description |
|---|---|---|
| true | Boolean | Replay Buffer is currently active and recording. |
| false | Boolean | Replay Buffer is stopped. |
| undefined | Undefined | Saved if OBS is not connected or ws5 is not in use. |
OBS WebSocket 5 Request: GetReplayBufferStatus
No request fields.
| Response Field | Type | Description |
|---|---|---|
| outputActive | Boolean | Whether the Replay Buffer is currently active. Saved directly to your variable. |
Example SAMMI Response:
true
Gets the current OBS recording status and saves it as an object.
| Box Name | Type | Description |
|---|---|---|
| OBS | Dropdown | OBS to send this command to, if using multiple OBS connections. |
| Save Variable As | String | Variable name to save the status object. |
Use Object Get Variable to read individual fields from the returned object.
Saved Payload:
| Variable Name | Type | Description |
|---|---|---|
| outputActive | Boolean | Whether recording is currently active. |
| outputPaused | Boolean | Whether recording is currently paused. |
| outputTimecode | String | Current recording timecode (HH:MM:SS.mmm). |
| outputDuration | Number | Duration of the current recording in milliseconds. |
| outputBytes | Number | Total bytes written to the recording file so far. |
OBS WebSocket 5 Request: GetRecordStatus
No request fields.
Example SAMMI Response Object:
{
"outputActive": true,
"outputPaused": false,
"outputTimecode": "00:05:30.000",
"outputDuration": 330000,
"outputBytes": 123456789
}