You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: Move obs-websocket vendor request reference to API.md
- Relocate the vendor request section from README to API.md / API_ja.md
- README now points to the API reference for details
- Trim internal implementation notes; keep only user-facing limitations
Copy file name to clipboardExpand all lines: API.md
+96Lines changed: 96 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -277,3 +277,99 @@ Reads the value of a text input and applies it to the stream recording filename
277
277
#### replay-buffer-filename-from-text
278
278
279
279
Reads the value of a text input and applies it to the replay buffer save filename format. The override takes effect on the next save; the replay buffer itself is not restarted.
280
+
281
+
## obs-websocket Vendor Requests
282
+
283
+
The same filename-override operations (and the filter listing helper) are also exposed as **obs-websocket vendor requests**, so external tools, bots, or Stream Deck integrations can drive the plugin over obs-websocket without running an in-process OBS script.
-**Requirement:** obs-websocket must be installed. If not, these requests are unavailable.
288
+
289
+
### Security
290
+
291
+
Vendor requests require a client authenticated with obs-websocket. The obs-websocket password grants full access to every request below — treat it as a credential equivalent to OBS user authority. When exposing obs-websocket beyond `localhost`, use a strong password and a trusted network.
292
+
293
+
### Limitations
294
+
295
+
-`filter_uuid` must be a 36-character hyphenated UUID string. Other shapes are rejected with `"filter_uuid must be a UUID string"`.
296
+
-`format` cannot exceed 1024 bytes. Longer strings are rejected with `"format too long"`.
297
+
-`filter_uuid` must resolve to a Branch Output filter source. Any other source (including non-existent UUIDs) is rejected with `"Filter not found"`.
298
+
- Do not send bursts of requests while a recording transition (file split, restart) is in progress — a request may block until the transition completes.
299
+
300
+
### `get_filter_list`
301
+
302
+
Enumerates every Branch Output filter currently loaded in OBS.
| Clearing the override | Pass an empty string for `format`. |
331
+
332
+
Behavior during recording is identical to the proc handler — see [Overriding the Stream Recording Filename Format](#overriding-the-stream-recording-filename-format) above.
333
+
334
+
### `override_replay_buffer_filename_format`
335
+
336
+
Overrides the replay buffer save filename format for a specific Branch Output filter.
337
+
338
+
| Item | Description |
339
+
|------|-------------|
340
+
| Request type |`override_replay_buffer_filename_format`|
341
+
| Request data |`{ "filter_uuid": string, "format": string }`|
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -119,7 +119,7 @@ Branch Output exposes public procedures that let external scripts override the s
119
119
120
120
Sample scripts (`recording-filename-from-text` and `replay-buffer-filename-from-text`) are bundled with the plugin in both **Python** (`.py`) and **Lua** (`.lua`) variants, and can be loaded from OBS Tools → Scripts.
121
121
122
-
See the [API reference](./API.md) for procedure signatures, sample code, and usage instructions for the bundled scripts.
122
+
See the [API reference](./API.md) for procedure signatures, sample code, and usage instructions for the bundled scripts. The same filename-override operations are also exposed as **obs-websocket vendor requests** for integration with external tools, bots, and Stream Deck plugins — see the API reference for details.
0 commit comments