diff --git a/obs-websocket-dotnet/obs-websocket-dotnet.csproj b/obs-websocket-dotnet/obs-websocket-dotnet.csproj
index b6fd8cc..160c6a9 100644
--- a/obs-websocket-dotnet/obs-websocket-dotnet.csproj
+++ b/obs-websocket-dotnet/obs-websocket-dotnet.csproj
@@ -28,7 +28,7 @@ What's new in v5.0.0.3
- E:\Projects\GitHub\obs-websocket-dotnet-standard\obs-websocket-dotnet\obs-websocket-dotnet.xml
+ obs-websocket-dotnet.xml
diff --git a/obs-websocket-dotnet/obs-websocket-dotnet.xml b/obs-websocket-dotnet/obs-websocket-dotnet.xml
index eaac38c..c9cc59d 100644
--- a/obs-websocket-dotnet/obs-websocket-dotnet.xml
+++ b/obs-websocket-dotnet/obs-websocket-dotnet.xml
@@ -4,357 +4,143 @@
obs-websocket-dotnet
-
+
- Called by
-
- instance
- Name of the new current scene
-
-
-
- Called by
-
- instance
- Name of the scene where items where reordered
-
-
-
- Called by
- or
-
- instance
- Name of the scene where the item is
- Name of the concerned item
-
-
-
- Called by
-
- instance
- Name of the scene where the item is
- Name of the concerned item
- Visibility of the item
-
-
-
- Called by
-
- instance
- Name of the scene where the item is
- Name of the concerned item
- Id of the concerned item
- Lock status of the item
-
-
-
- Called by
-
- instance
- Name of the new selected transition
-
-
-
- Called by
-
- instance
- Name of the new transition duration (in milliseconds)
-
-
-
- Called by
-
- instance
- Transition name
- Transition type
- Transition duration (in milliseconds). Will be -1 for any transition with a fixed duration, such as a Stinger, due to limitations of the OBS API
- Source scene of the transition
- Destination scene of the transition
-
-
-
- Called by
-
- instance
- Transition name
- Transition type
- Transition duration (in milliseconds).
- Destination scene of the transition
-
-
-
- Called by
-
- instance
- Transition name
- Transition type
- Transition duration (in milliseconds).
- Source scene of the transition
- Destination scene of the transition
-
-
-
- Called by ,
- or
-
- instance
- New output state
-
-
-
- Called by
-
- instance
- Stream status data
-
-
-
- Called by
-
- instance
- New Studio Mode status
-
-
-
- Called by
-
- instance
- heartbeat data
-
-
-
- Callback by
-
- instance
- Name of the scene item was in
- Name of the item deselected
- Id of the item deselected
-
-
-
- Callback by
-
- instance
- Name of the scene item was in
- Name of the item seletected
- Id of the item selected
-
-
-
- Callback by
-
- instance
- Transform data
-
-
-
- Callback by
-
- instance
- Mixer information that was updated
-
-
-
- Callback by
+ Data required by authentication
- instance
- Name of the source for the offset change
- Sync offset value
-
+
- Callback by
+ Authentication challenge
- instance
- Newly created source settings
-
+
- Callback by
+ Password salt
- instance
- Newly destroyed source information
- Kind of source destroyed
- Type of source destroyed
-
+
- Callback by
+ Builds the object from JSON response body
- instance
- New name of source
- Previous name of source
+ JSON response body as a
-
+
- Callback by
+ Default Constructor for deserialization
- instance
- Name of source
- Current mute state of source
-
+
- Callback by
+ Close/Error codes sent by OBS Websocket when closing the connection
- instance
- Name of source
-
+
- Callback by
+ For internal use only to tell the request handler not to perform any close action.
- instance
- Name of source
-
+
- Callback by
+ Unknown reason, should never be used.
- instance
- Current volume levels of source
-
+
- Callback by
+ The server was unable to decode the incoming websocket message.
- instance
- Name of source
- Name of removed filter
-
+
- Callback by
+ A data field is required but missing from the payload.
- instance
- Name of source
- Name of filter
- Type of filter
- Settings for filter
-
+
- Callback by
+ A data field's value type is invalid.
- instance
- Name of source
- Current order of filters for source
-
+
- Callback by
+ A data field's value is invalid.
- instance
- Name of source
- Name of filter
- New filter state
-
+
- Callback by
+ The specified op was invalid or missing.
- instance
- Identifier provided by the sender
- User-defined data
-
+
- Callback by
+ The client sent a websocket message without first sending Identify message.
- instance
- Name of source
- Kind of source
-
+
- Callback by
+ The client sent an Identify message while already identified.
- instance
- Name of source
- Kind of source
-
+
- Callback by
+ The authentication attempt (via Identify) failed.
- instance
- Name of source
- Kind of source
-
+
- Callback by
+ The server detected the usage of an old version of the obs-websocket RPC protocol.
- instance
- Name of source
- Kind of source
-
+
- Callback by
+ The websocket session has been invalidated by the obs-websocket server.
- instance
- Name of source
- Kind of source
-
+
- Callback by
+ A requested feature is not supported due to hardware/software limitations.
- instance
- Name of source
- Kind of source
-
+
- Callback by
+ Disconnection information received from the OBS Websocket server
- instance
- Name of source
- Kind of source
-
+
- Callback by
+ Close/Error codes sent by OBS Websocket when closing the connection
- instance
- Name of source
- Kind of source
-
+
- Thrown if authentication fails
+ String reason of disconnect
-
+
- Thrown when the server responds with an error
+ Websocket Client internal information
-
+
Constructor
-
-
-
-
-
-
+ Close/Error codes sent by OBS Websocket when closing the connection
+ String reason of disconnect
+ Websocket Client internal information
-
+
- Source Name
+ Message received from the server
-
+
- Source Type
+ Server Message's operation code
-
+
- Media settings
+ Server Data
@@ -362,22 +148,23 @@
Instance of a connection with an obs-websocket server
-
+
- Triggered when switching to another scene
+ The current program scene has changed.
- Triggered when a scene is created, deleted or renamed
+ The list of scenes has changed.
+ TODO: Make OBS fire this event when scenes are reordered.
-
+
Triggered when the scene item list of the specified scene is reordered
-
+
Triggered when a new item is added to the item list of the specified scene
@@ -387,17 +174,17 @@
Triggered when an item is removed from the item list of the specified scene
-
+
Triggered when the visibility of a scene item changes
-
+
Triggered when the lock status of a scene item changes
-
+
Triggered when switching to another scene collection
@@ -407,37 +194,32 @@
Triggered when a scene collection is created, deleted or renamed
-
+
Triggered when switching to another transition
-
+
Triggered when the current transition duration is changed
-
+
- Triggered when a transition is created or removed
+ Triggered when a transition between two scenes starts. Followed by
-
-
- Triggered when a transition between two scenes starts. Followed by
-
-
-
+
Triggered when a transition (other than "cut") has ended. Please note that the from-scene field is not available in TransitionEnd
-
+
Triggered when a stinger transition has finished playing its video
-
+
Triggered when switching to another profile
@@ -447,47 +229,32 @@
Triggered when a profile is created, imported, removed or renamed
-
+
Triggered when the streaming output state changes
-
+
Triggered when the recording output state changes
-
-
- Triggered when the recording output is paused
-
-
-
-
- Triggered when the recording output is resumed
-
-
Triggered when state of the replay buffer changes
-
-
- Triggered every 2 seconds while streaming is active
-
-
-
+
Triggered when the preview scene selection changes (Studio Mode only)
-
+
Triggered when Studio Mode is turned on or off
-
+
Triggered when OBS exits
@@ -502,145 +269,173 @@
Triggered when disconnected from an obs-websocket server
-
+
- Emitted every 2 seconds after enabling it by calling SetHeartbeat
+ A scene item is selected in the UI
-
+
- A scene item is deselected
+ A scene item transform has changed
-
+
- A scene item is selected
+ The audio sync offset of an input has changed
-
+
- A scene item transform has changed
+ A filter was added to a source
-
+
- Audio mixer routing changed on a source
+ A filter was removed from a source
-
+
- The audio sync offset of a source has changed
+ Filters in a source have been reordered
-
+
- A source has been created. A source can be an input, a scene or a transition.
+ Triggered when the visibility of a filter has changed
-
+
- A source has been destroyed/removed. A source can be an input, a scene or a transition.
+ A source has been muted or unmuted
-
+
- A filter was added to a source
+ The volume of a source has changed
-
+
- A filter was removed from a source
+ A custom broadcast message was received
-
+
- Filters in a source have been reordered
+ These events are emitted by the OBS sources themselves. For example when the media file ends. The behavior depends on the type of media source being used.
-
+
- Triggered when the visibility of a filter has changed
+ These events are emitted by the OBS sources themselves. For example when the media file starts playing. The behavior depends on the type of media source being used.
-
+
- A source has been muted or unmuted
+ This event is only emitted when something actively controls the media/VLC source. In other words, the source will never emit this on its own naturally.
-
+
- A source has been muted or unmuted
+ The virtual cam state has changed.
-
+
- A source has been muted or unmuted
+ The current scene collection has begun changing.
-
+
- A source has been renamed
+ The current profile has begun changing.
-
+
- The volume of a source has changed
+ The name of a source filter has changed.
-
+
- A custom broadcast message was received
+ An input has been created.
-
+
- These events are emitted by the OBS sources themselves. For example when the media file ends. The behavior depends on the type of media source being used.
+ An input has been removed.
-
+
- These events are emitted by the OBS sources themselves. For example when the media file starts playing. The behavior depends on the type of media source being used.
+ The name of an input has changed.
-
+
- This event is only emitted when something actively controls the media/VLC source. In other words, the source will never emit this on its own naturally.
+ An input's active state has changed.
+ When an input is active, it means it's being shown by the program feed.
-
+
- This event is only emitted when something actively controls the media/VLC source. In other words, the source will never emit this on its own naturally.
+ An input's show state has changed.
+ When an input is showing, it means it's being shown by the preview or a dialog.
-
+
- This event is only emitted when something actively controls the media/VLC source. In other words, the source will never emit this on its own naturally.
+ The audio balance value of an input has changed.
-
+
- This event is only emitted when something actively controls the media/VLC source. In other words, the source will never emit this on its own naturally.
+ The audio tracks of an input have changed.
-
+
- This event is only emitted when something actively controls the media/VLC source. In other words, the source will never emit this on its own naturally.
+ The monitor type of an input has changed.
+ Available types are:
+ - `OBS_MONITORING_TYPE_NONE`
+ - `OBS_MONITORING_TYPE_MONITOR_ONLY`
+ - `OBS_MONITORING_TYPE_MONITOR_AND_OUTPUT`
-
+
- This event is only emitted when something actively controls the media/VLC source. In other words, the source will never emit this on its own naturally.
+ A high-volume event providing volume levels of all active inputs every 50 milliseconds.
+
+
+
+
+ The replay buffer has been saved.
+
+
+
+
+ A new scene has been created.
+
+
+
+
+ A scene has been removed.
-
+
- The virtual camera has been started.
+ The name of a scene has changed.
-
+
+
+ An unsupported event has been received.
+
+
+
- The virtual camera has been stopped.
+ Update message handler
+ Value of "event-type" in the JSON body
+ full JSON message body
@@ -652,11 +447,6 @@
Current connection state
-
-
- Underlying WebSocket connection to an obs-websocket server. Value is null when disconnected.
-
-
Constructor
@@ -664,7 +454,16 @@
- Connect this instance to the specified URL, and authenticate (if needed) with the specified password
+ Connect this instance to the specified URL, and authenticate (if needed) with the specified password.
+ NOTE: Please subscribe to the Connected/Disconnected events (or atleast check the IsConnected property) to determine when the connection is actually fully established
+
+ Server URL in standard URL format.
+ Server password
+
+
+
+ Connect this instance to the specified URL, and authenticate (if needed) with the specified password.
+ NOTE: Please subscribe to the Connected/Disconnected events (or atleast check the IsConnected property) to determine when the connection is actually fully established
Server URL in standard URL format.
Server password
@@ -682,33 +481,31 @@
additional JSON fields if required by the request type
The server's JSON response as a JObject
-
+
- Requests version info regarding obs-websocket, the API and OBS Studio
+ Internal version which allows to set the opcode
+ Sends a message to the websocket API with the specified request type and optional parameters
- Version info in an object
+ Type/OpCode for this messaage
+ obs-websocket request type, must be one specified in the protocol specification
+ additional JSON fields if required by the request type
+ Should wait for reply vs "fire and forget"
+ The server's JSON response as a JObject
Request authentication data. You don't have to call this manually.
- Authentication data in an object
+ Authentication data in an object
-
+
- Authenticates to the Websocket server using the challenge and salt given in the passed object
+ Authenticates to the Websocket server using the challenge and salt given in the passed object
User password
Authentication data
true if authentication succeeds, false otherwise
-
-
- Update message handler
-
- Value of "event-type" in the JSON body
- full JSON message body
-
Encode a Base64-encoded SHA-256 hash
@@ -723,30 +520,37 @@
(optional) message ID length
A random string of alphanumerical characters
-
+
Get basic OBS video information
-
+
- At least embedPictureFormat or saveToFilePath must be specified.
- Clients can specify width and height parameters to receive scaled pictures. Aspect ratio is preserved if only one of these two parameters is specified.
+ Saves a screenshot of a source to the filesystem.
+ The `imageWidth` and `imageHeight` parameters are treated as \"scale to inner\", meaning the smallest ratio will be used and the aspect ratio of the original resolution is kept.
+ If `imageWidth` and `imageHeight` are not specified, the compressed image will use the full resolution of the source.
+ **Compatible with inputs and scenes.**
-
- Format of the Data URI encoded picture. Can be "png", "jpg", "jpeg" or "bmp" (or any other value supported by Qt's Image module)
- Full file path (file extension included) where the captured image is to be saved. Can be in a format different from pictureFormat. Can be a relative path.
- Screenshot width. Defaults to the source's base width.
- Screenshot height. Defaults to the source's base height.
+ Name of the source to take a screenshot of
+ Image compression format to use. Use `GetVersion` to get compatible image formats
+ Path to save the screenshot file to. Eg. `C:\\Users\\user\\Desktop\\screenshot.png`
+ Width to scale the screenshot to
+ Height to scale the screenshot to
+ Compression quality to use. 0 for high compression, 100 for uncompressed. -1 to use \"default\" (whatever that means, idk)
+ Base64-encoded screenshot string
-
+
- At least embedPictureFormat or saveToFilePath must be specified.
- Clients can specify width and height parameters to receive scaled pictures. Aspect ratio is preserved if only one of these two parameters is specified.
+ Saves a screenshot of a source to the filesystem.
+ The `imageWidth` and `imageHeight` parameters are treated as \"scale to inner\", meaning the smallest ratio will be used and the aspect ratio of the original resolution is kept.
+ If `imageWidth` and `imageHeight` are not specified, the compressed image will use the full resolution of the source.
+ **Compatible with inputs and scenes.**
-
- Format of the Data URI encoded picture. Can be "png", "jpg", "jpeg" or "bmp" (or any other value supported by Qt's Image module)
- Full file path (file extension included) where the captured image is to be saved. Can be in a format different from pictureFormat. Can be a relative path.
+ Name of the source to take a screenshot of
+ Image compression format to use. Use `GetVersion` to get compatible image formats
+ Path to save the screenshot file to. Eg. `C:\\Users\\user\\Desktop\\screenshot.png`
+ Base64-encoded screenshot string
@@ -754,31 +558,25 @@
Unique name of the hotkey, as defined when registering the hotkey (e.g. "ReplayBuffer.Save")
-
+
- EExecutes hotkey routine, identified by bound combination of keys. A single key combination might trigger multiple hotkey routines depending on user settings
+ Triggers a hotkey using a sequence of keys.
- Main key identifier (e.g. OBS_KEY_A for key "A"). Available identifiers are here: https://github.com/obsproject/obs-studio/blob/master/libobs/obs-hotkeys.h
+ Main key identifier (e.g. OBS_KEY_A for key "A"). Available identifiers are here: https://github.com/obsproject/obs-studio/blob/master/libobs/obs-hotkeys.h
Optional key modifiers object. You can combine multiple key operators. e.g. KeyModifier.Shift | KeyModifier.Control
-
+
- Get the current scene info along with its items
+ Get the name of the currently active scene.
- An object describing the current scene
+ Name of the current scene
-
+
Set the current scene to the specified one
The desired scene name
-
-
- Get the filename formatting string
-
- Current filename formatting string
-
Get OBS stats (almost the same info as provided in OBS' stats window)
@@ -788,28 +586,21 @@
List every available scene
- A of objects describing each scene
+ A of objects describing each scene
Get a list of scenes in the currently active profile
-
-
- Changes the order of scene items in the requested scene
-
- Name of the scene to reorder (defaults to current)
- List of items to reorder, only ID or Name required
-
-
+
Get the specified scene's transition override info
Name of the scene to return the override info
TransitionOverrideInfo
-
+
Set specific transition override for a scene
@@ -817,56 +608,6 @@
Name of the transition to use
Duration in milliseconds of the transition if transition is not fixed. Defaults to the current duration specified in the UI if there is no current override and this value is not given
-
-
- Remove any transition override from a specific scene
-
- Name of the scene to remove the transition override
-
-
-
- Get a list of all inputs in the scene collection
-
-
-
-
- List all sources available in the running OBS instance
-
-
-
-
- List all sources available in the running OBS instance
-
-
-
-
- Change the visibility of the specified scene item
-
- Scene item which visiblity will be changed
- Desired visiblity
- Scene name of the specified item
-
-
-
- Gets the scene specific properties of the specified source item. Coordinates are relative to the item's parent (the scene or group it belongs to).
-
- The name of the source
- The name of the scene that the source item belongs to. Defaults to the current scene.
-
-
-
- Gets the scene specific properties of the specified source item. Coordinates are relative to the item's parent (the scene or group it belongs to).
- Response is a JObject
-
- The name of the source
- The name of the scene that the source item belongs to. Defaults to the current scene.
-
-
-
- Get the current properties of a Text GDI Plus source.
-
- The name of the source
-
If your code needs to perform multiple successive T-Bar moves (e.g. : in an animation, or in response to a user moving a T-Bar control in your User Interface), set release to false and call ReleaseTBar later once the animation/interaction is over.
@@ -874,37 +615,25 @@
T-Bar position. This value must be between 0.0 and 1.0.
Whether or not the T-Bar gets released automatically after setting its new position (like a user releasing their mouse button after moving the T-Bar). Call ReleaseTBar manually if you set release to false. Defaults to true.
-
-
- Set the current properties of a Text GDI Plus source.
-
- properties for the source
-
-
-
- Move a filter in the chain (relative positioning)
-
- Scene Name
- Filter Name
- Direction to move
-
-
+
- Move a filter in the chain (absolute index positioning)
+ Apply settings to a source filter
- Scene Name
- Filter Name
- Desired position of the filter in the chain
+ Source with filter
+ Filter name
+ JObject with filter settings
+ Apply over existing settings?
-
+
Apply settings to a source filter
Source with filter
Filter name
Filter settings
+ Apply over existing settings?
-
+
Modify the Source Filter's visibility
@@ -912,162 +641,144 @@
Source filter name
New filter state
-
+
Return a list of all filters on a source
Source name
-
-
- Returns a list of all filters assigned to a source (input, scene)
-
- Source name
-
-
+
- Return a list of all filters on a source
+ Return a list of settings for a specific filter
Source name
Filter name
-
-
- Release the T-Bar (like a user releasing their mouse button after moving it). YOU MUST CALL THIS if you called SetTBarPosition with the release parameter set to false.
-
-
-
+
Remove the filter from a source
-
-
+ Name of the source the filter is on
+ Name of the filter to remove
-
+
Add a filter to a source
Name of the source for the filter
Name of the filter
- Type of filter
- Filter settings object
+ Type of filter
+ JObject holding filter settings object
-
+
- Start/Stop the streaming output
+ Add a filter to a source
+ Name of the source for the filter
+ Name of the filter
+ Type of filter
+ Filter settings object
-
+
- Start/Stop the recording output
+ Toggles the status of the stream output.
+ New state of the stream output
-
+
- Get the current status of the streaming and recording outputs
+ Toggles the status of the record output.
- An object describing the current outputs states
-
+
- List all transitions
+ Gets the status of the stream output
- A of all transition names
+ An object describing the current outputs states
-
+
Get the current transition name and duration
An object with the current transition name and duration
-
+
Set the current transition to the specified one
Desired transition name
-
+
Change the transition's duration
- Desired transition duration (in milliseconds)
+ Desired transition duration (in milliseconds)
-
+
Change the current settings of a transition
- Transition name
Transition settings (they can be partial)
+ Whether to overlay over the current settins or replace them
Updated transition settings
-
+
Change the volume of the specified source
- Name of the source which volume will be changed
- Desired volume. Must be between `0.0` and `1.0` for amplitude/mul (useDecibel is false), and under 0.0 for dB (useDecibel is true). Note: OBS will interpret dB values under -100.0 as Inf.
- Interperet `volume` data as decibels instead of amplitude/mul.
+ Name of the source which volume will be changed
+ Desired volume. Must be between `0.0` and `1.0` for amplitude/mul (useDecibel is false), and under 0.0 for dB (useDecibel is true). Note: OBS will interpret dB values under -100.0 as Inf.
+ Interperet `volume` data as decibels instead of amplitude/mul.
-
+
Get the volume of the specified source
Volume is between `0.0` and `1.0` if using amplitude/mul (useDecibel is false), under `0.0` if using dB (useDecibel is true).
- Source name
- Output volume in decibels of attenuation instead of amplitude/mul.
+ Source name
An Object containing the volume and mute state of the specified source.
-
+
- Set the mute state of the specified source
-
- Name of the source which mute state will be changed
- Desired mute state
-
-
-
- Toggle the mute state of the specified source
+ Gets the audio mute state of an input.
- Name of the source which mute state will be toggled
+ Name of input to get the mute state of
+ Whether the input is muted
-
+
- Set the position of the specified scene item
+ Set the mute state of the specified source
- Name of the scene item which position will be changed
- X coordinate
- Y coordinate
- (optional) name of the scene the item belongs to
+ Name of the source which mute state will be changed
+ Desired mute state
-
+
- Set the scale and rotation of the specified scene item
+ Toggle the mute state of the specified source
- Name of the scene item which transform will be changed
- Rotation in Degrees
- Horizontal scale factor
- Vertical scale factor
- (optional) name of the scene the item belongs to
+ Name of the source which mute state will be toggled
-
+
- Sets the scene specific properties of a source. Unspecified properties will remain unchanged. Coordinates are relative to the item's parent (the scene or group it belongs to).
+ Sets the transform and crop info of a scene item
- Object containing changes
- Option scene name
+ Name of the scene that has the SceneItem
+ Id of the Scene Item
+ JObject holding transform settings
-
+
-
+ Sets the transform and crop info of a scene item
-
-
+ Name of the scene that has the SceneItem
+ Id of the Scene Item
+ Transform settings
Set the current scene collection to the specified one
- Desired scene collection name
+ Desired scene collection name
@@ -1075,7 +786,7 @@
Name of the current scene collection
-
+
List all scene collections
@@ -1087,71 +798,50 @@
Name of the desired profile
-
-
- Get the name of the current profile
-
- Name of the current profile
-
-
+
List all profiles
A of the names of all profiles
-
+
Start streaming. Will trigger an error if streaming is already active
-
+
Stop streaming. Will trigger an error if streaming is not active.
-
-
- Toggle Streaming
-
-
-
+
Start recording. Will trigger an error if recording is already active.
-
+
Stop recording. Will trigger an error if recording is not active.
+ File name for the saved recording
-
-
- Toggle recording
-
-
-
+
Pause the current recording. Returns an error if recording is not active or already paused.
-
+
Resume/unpause the current recording (if paused). Returns an error if recording is not active or not paused.
-
-
- Change the current recording folder
-
- Recording folder path
-
-
+
Get the path of the current recording folder
Current recording folder path
-
+
Get current recording status.
@@ -1163,108 +853,53 @@
Current recording status. true when active
-
-
- Get the current settings of a transition
-
- Transition name
- Current transition settings
-
-
-
- Get duration of the currently selected transition (if supported)
-
- Current transition duration (in milliseconds)
-
-
-
- Gets an array of all available transition kinds.\n\nSimilar to `GetInputKindList
-
- Array of all available transition kinds.
-
-
+
Get duration of the currently selected transition (if supported)
Current transition duration (in milliseconds)
-
-
- Get the position of the current transition. Value will be between 0.0 and 1.0.
- Note: Returns 1.0 when not active.
-
-
-
-
+
Get status of Studio Mode
Studio Mode status (on/off)
-
-
- Disable Studio Mode
-
-
-
-
- Enable Studio Mode
-
-
-
-
- Enable Studio Mode
-
-
-
-
- Enable/disable Studio Mode
-
- Desired Studio Mode status
-
-
+
- Toggle Studio Mode status (on to off or off to on)
+ Enables or disables studio mode
+
-
+
- Get the currently selected preview scene. Triggers an error
- if Studio Mode is disabled
+ Get the name of the currently selected preview scene.
+ Note: Triggers an error if Studio Mode is disabled
- Preview scene object
+ Preview scene name
-
+
- Change the currently active preview scene to the one specified.
+ Change the currently active preview/studio scene to the one specified.
Triggers an error if Studio Mode is disabled
- Preview scene name
+ Preview scene name
-
+
- Change the currently active preview scene to the one specified.
+ Change the currently active preview/studio scene to the one specified.
Triggers an error if Studio Mode is disabled.
Preview scene object
-
+
- Triggers a Studio Mode transition (preview scene to program)
+ Triggers the current scene transition. Same functionality as the `Transition` button in Studio Mode
- (optional) Transition duration
- (optional) Name of transition to use
-
-
-
- Get if the specified source is muted
-
- Source name
- Source mute status (on/off)
- Toggle the Replay Buffer on/off
+ Toggles the state of the replay buffer output.
@@ -1280,11 +915,6 @@
Replay Buffer is not active.
-
-
- Toggle replay buffer
-
-
Save and flush the contents of the Replay Buffer to disk. Basically
@@ -1292,2190 +922,4333 @@
Triggers an error if Replay Buffer is not active.
-
+
Set the audio sync offset of the specified source
- Source name
- Audio offset (in nanoseconds) for the specified source
+ Source name
+ Audio offset (in nanoseconds) for the specified source
-
+
Get the audio sync offset of the specified source
- Source name
+ Source name
Audio offset (in nanoseconds) of the specified source
-
+
- Deletes a scene item
+ Removes a scene item from a scene.
+ Scenes only.
- Scene item, requires name or id of item
- /// Scene name to delete item from (optional)
+ Scene item id
+ Scene name from which to delete item
-
+
- Deletes a scene item
+ Sends CEA-608 caption text over the stream output. As of OBS Studio 23.1, captions are not yet available on Linux.
- Scene item id
- /// Scene name to delete item from (optional)
+ Captions text
-
+
- Set the relative crop coordinates of the specified source item
+ Duplicates a scene item
- Name of the scene item
- Crop coordinates
- (optional) parent scene name of the specified source
+ Name of the scene that has the SceneItem
+ Id of the Scene Item
+ Name of scene to add the new duplicated Scene Item. If not specified will assume sceneName
-
+
- Set the relative crop coordinates of the specified source item
+ Gets the names of all special inputs.
- Scene item object
- Crop coordinates
- Parent scene of scene item
+ Dictionary of special inputs.
-
+
- Reset a scene item
+ Sets the current stream service settings (stream destination).
+ Note: Simple RTMP settings can be set with type `rtmp_custom` and the settings fields `server` and `key`.
- Name of the source item
- Name of the scene the source belongs to. Defaults to the current scene.
+ Stream Service Type Name and Settings objects
-
+
- Send the provided text as embedded CEA-608 caption data. As of OBS Studio 23.1, captions are not yet available on Linux.
+ Gets the current stream service settings (stream destination).
- Captions text
+ Stream service type and settings objects
-
+
- Set the filename formatting string
+ Gets the audio monitor type of an input.
+ The available audio monitor types are:
+ - `OBS_MONITORING_TYPE_NONE`
+ - `OBS_MONITORING_TYPE_MONITOR_ONLY`
+ - `OBS_MONITORING_TYPE_MONITOR_AND_OUTPUT`
- Filename formatting string to set
+ Source name
+ The monitor type in use
-
+
- Set the relative crop coordinates of the specified source item
+ Sets the audio monitor type of an input.
- Source of the scene item
- Destination for the scene item
- Scene item, requires name or id
+ Name of the input to set the audio monitor type of
+ Audio monitor type. See `GetInputAudioMonitorType for possible types.
-
+
- Set the relative crop coordinates of the specified source item
+ Broadcasts a `CustomEvent` to all WebSocket clients. Receivers are clients which are identified and subscribed.
- Source of the scene item
- Destination for the scene item
- Scene item id to duplicate
+ Data payload to emit to all receivers
-
+
- Get names of configured special sources (like Desktop Audio
- and Mic sources)
+ Sets the cursor position of a media input.
+ This request does not perform bounds checking of the cursor position.
-
+ Name of the media input
+ New cursor position to set (milliseconds).
-
+
- Set current streaming settings
+ Offsets the current cursor position of a media input by the specified value.
+ This request does not perform bounds checking of the cursor position.
- Service settings
- Save to disk
+ Name of the media input
+ Value to offset the current cursor position by (milliseconds +/-)
-
+
- Get current streaming settings
+ Creates a new input, adding it as a scene item to the specified scene.
-
+ Name of the scene to add the input to as a scene item
+ Name of the new input to created
+ The kind of input to be created
+ Jobject holding the settings object to initialize the input with
+ Whether to set the created scene item to enabled or disabled
+ ID of the SceneItem in the scene.
-
+
- Set current streaming settings
+ Gets the default settings for an input kind.
- Service settings
- Save to disk
+ Input kind to get the default settings for
+ Object of default settings for the input kind
-
+
- Save current Streaming settings to disk
+ Gets a list of all scene items in a scene.
+ Scenes only
+ Name of the scene to get the items of
+ Array of scene items in the scene
-
+
- Get settings of the specified BrowserSource
+ Creates a new scene item using a source.
+ Scenes only
- Source name
- Optional name of a scene where the specified source can be found
- BrowserSource properties
+ Name of the scene to create the new item in
+ Name of the source to add to the scene
+ Enable state to apply to the scene item on creation
+ Numeric ID of the scene item
-
+
- Set settings of the specified BrowserSource
+ Creates a new scene in OBS.
- Source name
- BrowserSource properties
- Optional name of a scene where the specified source can be found
+ Name for the new scene
-
+
- Enable/disable the heartbeat event
+ Gets the enable state of all audio tracks of an input.
-
+ Name of the input
+ Object of audio tracks and associated enable states
-
+
- Get the settings from a source item
+ Sets the enable state of audio tracks of an input.
- Source name
- Type of the specified source. Useful for type-checking to avoid settings a set of settings incompatible with the actual source's type.
- settings
+ Name of the input
+ JObject holding track settings to apply
-
+
- Set settings of the specified source.
+ Sets the enable state of audio tracks of an input.
- Source name
- Settings for the source
- Type of the specified source. Useful for type-checking to avoid settings a set of settings incompatible with the actual source's type.
+ Name of the input
+ Track settings to apply
-
+
- Gets settings for a media source
+ Gets the active and show state of a source.
+ **Compatible with inputs and scenes.**
-
-
+ Name of the source to get the active state of
+ Whether the source is showing in Program
-
+
- Sets settings of a media source
+ Gets the status of the virtualcam output.
-
+ An object describing the current virtual camera state
-
+
- Open a projector window or create a projector on a monitor. Requires OBS v24.0.4 or newer.
+ Starts the virtualcam output.
- Type of projector: "Preview" (default), "Source", "Scene", "StudioProgram", or "Multiview" (case insensitive)
- Monitor to open the projector on. If -1 or omitted, opens a window
- Size and position of the projector window (only if monitor is -1). Encoded in Base64 using Qt's geometry encoding. Corresponds to OBS's saved projectors
- Name of the source or scene to be displayed (ignored for other projector types)
-
+
- Renames a source.
- Note: If the new name already exists as a source, obs-websocket will return an error.
+ Stops the virtualcam output.
- Current source name
- New source name
-
+
- List existing outputs
+ Toggles the state of the virtualcam output.
- Array of OutputInfo
+ Whether the output is active
-
+
- Get the audio's active status of a specified source.
+ Gets the value of a \"slot\" from the selected persistent data realm.
- Source name.
- Audio active status of the source.
+ The data realm to select. `OBS_WEBSOCKET_DATA_REALM_GLOBAL` or `OBS_WEBSOCKET_DATA_REALM_PROFILE`
+ The name of the slot to retrieve data from
+ Value associated with the slot. `null` if not set
-
+
- Get the audio monitoring type of the specified source.
- Valid return values: none, monitorOnly, monitorAndOutput
+ Sets the value of a \"slot\" from the selected persistent data realm.
- Source name
- The monitor type in use
+ The data realm to select. `OBS_WEBSOCKET_DATA_REALM_GLOBAL` or `OBS_WEBSOCKET_DATA_REALM_PROFILE`
+ The name of the slot to retrieve data from
+ The value to apply to the slot
-
+
- Set the audio monitoring type of the specified source
+ Creates a new scene collection, switching to it in the process.\n\nNote: This will block until the collection has finished changing.
- Source name
- The monitor type to use. Options: none, monitorOnly, monitorAndOutput
+ Name for the new scene collection
-
+
- Broadcast custom message to all connected WebSocket clients
+ Creates a new profile, switching to it in the process
- Identifier to be choosen by the client
- User-defined data
+ Name for the new profile
-
+
- Refreshes the specified browser source.
+ Removes a profile. If the current profile is chosen, it will change to a different profile first.
- Source name.
+ Name of the profile to remove
-
+
- Pause or play a media source. Supports ffmpeg and vlc media sources (as of OBS v25.0.8) Note :Leaving out playPause toggles the current pause state
+ Gets a parameter from the current profile's configuration.
- Source name
- (optional) Whether to pause or play the source. false for play, true for pause.
+ Category of the parameter to get
+ Name of the parameter to get
+
-
+
- Restart a media source. Supports ffmpeg and vlc media sources (as of OBS v25.0.8)
+ Sets the value of a parameter in the current profile's configuration.
- Source name.
+ Category of the parameter to set
+ Name of the parameter to set
+ Value of the parameter to set. Use `null` to delete
-
+
- Stop a media source. Supports ffmpeg and vlc media sources (as of OBS v25.0.8)
+ Sets the current video settings.
+ Note: Fields must be specified in pairs. For example, you cannot set only `baseWidth` without needing to specify `baseHeight`.
- Source name.
+ Object containing video settings
-
+
- Skip to the next media item in the playlist. Supports only vlc media source (as of OBS v25.0.8)
+ Gets the default settings for a filter kind.
- Source name.
+ Filter kind to get the default settings for
+ Object of default settings for the filter kind
-
+
- Go to the previous media item in the playlist. Supports only vlc media source (as of OBS v25.0.8)
+ Sets the name of a source filter (rename).
- Source name.
+ Name of the source the filter is on
+ Current name of the filter
+ New name for the filter
-
+
- Get the length of media in milliseconds. Supports ffmpeg and vlc media sources (as of OBS v25.0.8) Note: For some reason, for the first 5 or so seconds that the media is playing, the total duration can be off by upwards of 50ms.
+ Sets the index position of a filter on a source.
- Source name.
- The total length of media in milliseconds.
+ Name of the source the filter is on
+ Name of the filter
+ New index position of the filter
-
+
- Get the current timestamp of media in milliseconds. Supports ffmpeg and vlc media sources (as of OBS v25.0.8)
+ Gets data about the current plugin and RPC version.
- Source name.
- The time in milliseconds since the start of the media.
+ Version info in an object
-
+
- Set the timestamp of a media source. Supports ffmpeg and vlc media sources (as of OBS v25.0.8)
+ Call a request registered to a vendor.
+ A vendor is a unique name registered by a third-party plugin or script, which allows for custom requests and events to be added to obs-websocket.
+ If a plugin or script implements vendor requests or events, documentation is expected to be provided with them.
- Source name.
- Milliseconds to set the timestamp to.
+ Name of the vendor to use
+ The request type to call
+ Object containing appropriate request data
+ Object containing appropriate response data. {} if request does not provide any response data
-
+
- Scrub media using a supplied offset. Supports ffmpeg and vlc media sources (as of OBS v25.0.8) Note: Due to processing/network delays, this request is not perfect. The processing rate of this request has also not been tested.
+ Gets an array of all hotkey names in OBS
- Source name.
- Millisecond offset (positive or negative) to offset the current media position.
+ Array of hotkey names
-
+
- Get the current playing state of a media source. Supports ffmpeg and vlc media sources (as of OBS v25.0.8)
+ Sleeps for a time duration or number of frames. Only available in request batches with types `SERIAL_REALTIME` or `SERIAL_FRAME`.
- Source name.
- The media state of the provided source.
+ Number of milliseconds to sleep for (if `SERIAL_REALTIME` mode)
+ Number of frames to sleep for (if `SERIAL_FRAME` mode)
-
+
- List the media state of all media sources (vlc and media source)
+ Gets an array of all inputs in OBS.
- Array of sources
+ Restrict the array to only inputs of the specified kind
+ List of Inputs in OBS
-
+
- Create a source and add it as a sceneitem to a scene.
+ Gets an array of all available input kinds in OBS.
- Source name.
- Source kind, Eg. vlc_source
- Scene to add the new source to.
- Source settings data.
- Set the created SceneItem as visible or not. Defaults to true
- ID of the SceneItem in the scene.
+ True == Return all kinds as unversioned, False == Return with version suffixes (if available)
+ Array of input kinds
-
+
- Get the default settings for a given source type.
+ Removes an existing input.
+ Note: Will immediately remove all associated scene items.
- Source kind. Also called "source id" in libobs terminology.
- Settings object for source.
+ Name of the input to remove
-
+
- Get a list of all scene items in a scene.
+ Sets the name of an input (rename).
- Name of the scene to get the list of scene items from. Defaults to the current scene if not specified.
+ Current input name
+ New name for the input
-
+
- Creates a scene item in a scene. In other words, this is how you add a source into a scene.
+ Gets the settings of an input.
+ Note: Does not include defaults. To create the entire settings object, overlay `inputSettings` over the `defaultInputSettings` provided by `GetInputDefaultSettings`.
- Name of the scene to create the scene item in
- Name of the source to be added
- Whether to make the scene item visible on creation or not. Default true
- Numerical ID of the created scene item
+ Name of the input to get the settings of
+ New populated InputSettings object
-
+
- Create a new scene.
+ Sets the settings of an input.
- Name of the scene to create.
+ Object of settings to apply
+ True == apply the settings on top of existing ones, False == reset the input to its defaults, then apply settings.
-
+
- Gets whether an audio track is active for a source.
+ Sets the settings of an input.
- Source name
- Indication for each track whther it's active or not
+ Name of the input to set the settings of
+ Object of settings to apply
+ True == apply the settings on top of existing ones, False == reset the input to its defaults, then apply settings.
-
+
- Sets whether an audio track is active for a source.
+ Gets the audio balance of an input.
- Source Name
- Audio tracks 1-6
- Whether audio track is active or not
-
+ Name of the input to get the audio balance of
+ Audio balance value from 0.0-1.0
-
+
- Get the source's active status of a specified source (if it is showing in the final mix).
+ Sets the audio balance of an input.
- Source Name
- Active status of the source
+ Name of the input to set the audio balance of
+ New audio balance value
-
+
- Get the current status of the virtual camera
+ Gets the items of a list property from an input's properties.
+ Note: Use this in cases where an input provides a dynamic, selectable list of items.
+ For example, display capture, where it provides a list of available displays.
- An object describing the current virtual camera state
+ Name of the input
+ Name of the list property to get the items of
+ Array of items in the list property
-
+
- Start virtual camera. Will trigger an error if virtual camera is already started.
+ Presses a button in the properties of an input.
+ Note: Use this in cases where there is a button in the properties of an input that cannot be accessed in any other way.
+ For example, browser sources, where there is a refresh button.
+ Name of the input
+ Name of the button property to press
-
+
- Stop virtual camera. Will trigger an error if virtual camera is already stopped.
+ Gets the status of a media input.\n\nMedia States:
+ - `OBS_MEDIA_STATE_NONE`
+ - `OBS_MEDIA_STATE_PLAYING`
+ - `OBS_MEDIA_STATE_OPENING`
+ - `OBS_MEDIA_STATE_BUFFERING`
+ - `OBS_MEDIA_STATE_PAUSED`
+ - `OBS_MEDIA_STATE_STOPPED`
+ - `OBS_MEDIA_STATE_ENDED`
+ - `OBS_MEDIA_STATE_ERROR`
+ Name of the media input
+ Object containing string mediaState, int mediaDuration, int mediaCursor properties
-
+
- Toggle virtual camera on or off (depending on the current virtual camera state).
+ Triggers an action on a media input.
+ Name of the media input
+ Identifier of the `ObsMediaInputAction` enum
-
+
- Status of streaming output and recording output
+ Gets the filename of the last replay buffer save file.
+ File path of last replay
-
+
- True if streaming is started and running, false otherwise
+ Toggles pause on the record output.
-
+
- True if recording is started and running, false otherwise
+ Currently BROKEN in obs-websocket/obs-studio
+ Basically GetSceneItemList, but for groups.
+ Using groups at all in OBS is discouraged, as they are very broken under the hood.
+ Groups only
+ Name of the group to get the items of
+ Array of scene items in the group
-
+
- Builds the object from the JSON response body
+ Searches a scene for a source, and returns its id.\n\nScenes and Groups
- JSON response body as a
+ Name of the scene or group to search in
+ Name of the source to find
+ Number of matches to skip during search. >= 0 means first forward. -1 means last (top) item
+ Numeric ID of the scene item
-
+
- Default Constructor for deserialization
+ Gets the transform and crop info of a scene item.
+ Scenes and Groups
+ Name of the scene the item is in
+ Numeric ID of the scene item
+ Object containing scene item transform info
-
+
- Audio Mixer Channel information
+ Gets the JObject of transform settings for a scene item. Use this one you don't want it populated with default values.
+ Scenes and Groups
+ Name of the scene the item is in
+ Numeric ID of the scene item
+ Object containing scene item transform info
-
+
- Is channel enabled
+ Gets the enable state of a scene item.
+ Scenes and Groups
+ Name of the scene the item is in
+ Numeric ID of the scene item
+ Whether the scene item is enabled. `true` for enabled, `false` for disabled
-
+
- ID of the channel
+ Gets the enable state of a scene item.
+ Scenes and Groups
+ Name of the scene the item is in
+ Numeric ID of the scene item
+ New enable state of the scene item
-
+
- Response from audio mixer change event
+ Gets the lock state of a scene item.
+ Scenes and Groups
+ Name of the scene the item is in
+ Numeric ID of the scene item
+ Whether the scene item is locked. `true` for locked, `false` for unlocked
-
+
- Mixer source name
+ Sets the lock state of a scene item.
+ Scenes and Group
+ Name of the scene the item is in
+ Numeric ID of the scene item
+ New lock state of the scene item
-
+
- Routing status of the source for each audio mixer (array of 6 values)
+ Gets the index position of a scene item in a scene.
+ An index of 0 is at the bottom of the source list in the UI.
+ Scenes and Groups
+ Name of the scene the item is in
+ Numeric ID of the scene item
+ Index position of the scene item
-
+
- Raw mixer flags (little-endian, one bit per mixer) as an hexadecimal value
+ Sets the index position of a scene item in a scene.
+ Scenes and Groups
+ Name of the scene the item is in
+ Numeric ID of the scene item
+ New index position of the scene item
-
+
- Create mixer response
+ Gets the blend mode of a scene item.
+ Blend modes:
+ - `OBS_BLEND_NORMAL`
+ - `OBS_BLEND_ADDITIVE`
+ - `OBS_BLEND_SUBTRACT`
+ - `OBS_BLEND_SCREEN`
+ - `OBS_BLEND_MULTIPLY`
+ - `OBS_BLEND_LIGHTEN`
+ - `OBS_BLEND_DARKEN`
+ Scenes and Groups
-
+ Name of the scene the item is in
+ Numeric ID of the scene item
+ Current blend mode
-
+
- Default Constructor for deserialization
+ Sets the blend mode of a scene item.
+ Scenes and Groups
+
+
+
-
+
- BrowserSource source properties
+ Gets an array of all groups in OBS.
+ Groups in OBS are actually scenes, but renamed and modified. In obs-websocket, we treat them as scenes where we can.
+ Array of group names
-
+
- Source name for the browser properties
+ Removes a scene from OBS.
+ Name of the scene to remove
-
+
- URL to load in the embedded browser
+ Sets the name of a scene (rename).
+ Name of the scene to be renamed
+ New name for the scene
-
+
- true if the URL points to a local file, false otherwise.
+ Gets a Base64-encoded screenshot of a source.
+ The `imageWidth` and `imageHeight` parameters are treated as \"scale to inner\", meaning the smallest ratio will be used and the aspect ratio of the original resolution is kept.
+ If `imageWidth` and `imageHeight` are not specified, the compressed image will use the full resolution of the source.
+ **Compatible with inputs and scenes.**
+ Name of the source to take a screenshot of
+ Image compression format to use. Use `GetVersion` to get compatible image formats
+ Width to scale the screenshot to
+ Height to scale the screenshot to
+ Compression quality to use. 0 for high compression, 100 for uncompressed. -1 to use \"default\" (whatever that means, idk)
+ Base64-encoded screenshot
-
+
- File to load in embedded browser
+ Gets an array of all available transition kinds.
+ Similar to `GetInputKindList`
+ Array of transition kinds
-
+
- Additional CSS to apply to the page
+ Gets the cursor position of the current scene transition.
+ Note: `transitionCursor` will return 1.0 when the transition is inactive.
+ Cursor position, between 0.0 and 1.0
-
+
- Embedded browser render (viewport) width
+ Opens the properties dialog of an input.
+ Name of the input to open the dialog of
-
+
- Embedded browser render (viewport) height
+ Opens the filters dialog of an input.
+ Name of the input to open the dialog of
-
+
- Embedded browser render frames per second
+ Opens the interact dialog of an input.
+ Name of the input to open the dialog of
-
+
- true if custom FPS is set
+ Gets a list of connected monitors and information about them.
+ a list of detected monitors with some information
-
+
- true if source should be disabled (inactive) when not visible, false otherwise
+ Opens a projector for a source.
+ Note: This request serves to provide feature parity with 4.x. It is very likely to be changed/deprecated in a future release.
+ Name of the source to open a projector for
+ Size/Position data for a windowed projector, in Qt Base64 encoded format. Mutually exclusive with monitorIndex
+ Monitor index, use GetMonitorList to obtain index. -1 to open in windowed mode
-
+
- true if source should restart the video when visible
+ Opens a projector for a specific output video mix.
+ Note: This request serves to provide feature parity with 4.x. It is very likely to be changed/deprecated in a future release.
+ Mix types: OBS_WEBSOCKET_VIDEO_MIX_TYPE_PREVIEW, OBS_WEBSOCKET_VIDEO_MIX_TYPE_PROGRAM, OBS_WEBSOCKET_VIDEO_MIX_TYPE_MULTIVIEW
+ Size/Position data for a windowed projector, in Qt Base64 encoded format. Mutually exclusive with monitorIndex
+ Monitor index, use GetMonitorList to obtain index. -1 to open in windowed mode
-
+
- true if source should be visible, false otherwise
+ Thrown if authentication fails
-
+
- Construct the object from JSON response data
+ Thrown when the server responds with an error
-
-
+
- Default Constructor for deserialization
+ Error Code of exception
-
+
- Common RTMP settings (predefined streaming services list)
+ Constructor
+ Exception Message
+ /// Error Code
-
+
- Streaming provider name
+ OBS Websocket Dotnet interface
-
+
- Streaming server URL;
+ WebSocket request timeout, represented as a TimeSpan object
-
+
- Stream key
+ Current connection state
-
+
- Construct object from data provided by
+ Get basic OBS video information
-
-
+
- Default Constructor for deserialization
+ Saves a screenshot of a source to the filesystem.
+ The `imageWidth` and `imageHeight` parameters are treated as \"scale to inner\", meaning the smallest ratio will be used and the aspect ratio of the original resolution is kept.
+ If `imageWidth` and `imageHeight` are not specified, the compressed image will use the full resolution of the source.
+ **Compatible with inputs and scenes.**
+ Name of the source to take a screenshot of
+ Image compression format to use. Use `GetVersion` to get compatible image formats
+ Path to save the screenshot file to. Eg. `C:\\Users\\user\\Desktop\\screenshot.png`
+ Width to scale the screenshot to
+ Height to scale the screenshot to
+ Compression quality to use. 0 for high compression, 100 for uncompressed. -1 to use \"default\" (whatever that means, idk)
+ Base64-encoded screenshot string
-
+
- Custom RTMP settings (fully customizable RTMP credentials)
+ Saves a screenshot of a source to the filesystem.
+ The `imageWidth` and `imageHeight` parameters are treated as \"scale to inner\", meaning the smallest ratio will be used and the aspect ratio of the original resolution is kept.
+ If `imageWidth` and `imageHeight` are not specified, the compressed image will use the full resolution of the source.
+ **Compatible with inputs and scenes.**
+ Name of the source to take a screenshot of
+ Image compression format to use. Use `GetVersion` to get compatible image formats
+ Path to save the screenshot file to. Eg. `C:\\Users\\user\\Desktop\\screenshot.png`
+ Base64-encoded screenshot string
-
+
- RTMP server URL
+ Executes hotkey routine, identified by hotkey unique name
+ Unique name of the hotkey, as defined when registering the hotkey (e.g. "ReplayBuffer.Save")
-
+
- RTMP stream key (URL suffix)
+ Triggers a hotkey using a sequence of keys.
+ Main key identifier (e.g. OBS_KEY_A for key "A"). Available identifiers are here: https://github.com/obsproject/obs-studio/blob/master/libobs/obs-hotkeys.h
+ Optional key modifiers object. You can combine multiple key operators. e.g. KeyModifier.Shift | KeyModifier.Control
-
+
- Tell OBS' RTMP client to authenticate to the server
+ Get the name of the currently active scene.
+ Name of the current scene
-
+
- Username used if authentication is enabled
+ Set the current scene to the specified one
+ The desired scene name
-
+
- Password used if authentication is enabled
+ Get OBS stats (almost the same info as provided in OBS' stats window)
-
+
- Construct object from data provided by
+ List every available scene
-
+ A of objects describing each scene
-
+
- Default Constructor for deserialization
+ Get a list of scenes in the currently active profile
-
+
- Direction to move filters
+ Get the specified scene's transition override info
+ Name of the scene to return the override info
+ TransitionOverrideInfo
-
+
- Up one
+ Set specific transition override for a scene
+ Name of the scene to set the transition override
+ Name of the transition to use
+ Duration in milliseconds of the transition if transition is not fixed. Defaults to the current duration specified in the UI if there is no current override and this value is not given
-
+
- Down one
+ If your code needs to perform multiple successive T-Bar moves (e.g. : in an animation, or in response to a user moving a T-Bar control in your User Interface), set release to false and call ReleaseTBar later once the animation/interaction is over.
+ T-Bar position. This value must be between 0.0 and 1.0.
+ Whether or not the T-Bar gets released automatically after setting its new position (like a user releasing their mouse button after moving the T-Bar). Call ReleaseTBar manually if you set release to false. Defaults to true.
-
+
- Top of the list
+ Apply settings to a source filter
+ Source with filter
+ Filter name
+ JObject with filter settings
+ Apply over existing settings?
-
+
- Bottom of the list
+ Apply settings to a source filter
+ Source with filter
+ Filter name
+ Filter settings
+ Apply over existing settings?
-
+
- Filter list item
+ Modify the Source Filter's visibility
+ Source name
+ Source filter name
+ New filter state
-
+
- Name of filter
+ Return a list of all filters on a source
+ Source name
-
+
- Type of filter
+ Return a list of settings for a specific filter
+ Source name
+ Filter name
-
+
- Filter settings
+ Remove the filter from a source
+ Name of the source the filter is on
+ Name of the filter to remove
-
+
- Name of the filter
+ Add a filter to a source
+ Name of the source for the filter
+ Name of the filter
+ Type of filter
+ JObject holding filter settings object
-
+
- Type of the specified filter
+ Add a filter to a source
+ Name of the source for the filter
+ Name of the filter
+ Type of filter
+ Filter settings object
-
+
- Status of the specified filter
+ Toggles the status of the stream output.
+ New state of the stream output
-
+
- Settings for the filter
+ Toggles the status of the record output.
-
+
- Get Scene Info response
+ Gets the status of the stream output
+ An object describing the current outputs states
-
+
- Name of the currently active scene
+ Get the current transition name and duration
+ An object with the current transition name and duration
-
+
- Ordered list of the current profile's scenes
+ Set the current transition to the specified one
+ Desired transition name
-
-
- Response from
-
-
-
+
- Response from
+ Change the transition's duration
+ Desired transition duration (in milliseconds)
-
+
- Name of the currently active transition
+ Change the current settings of a transition
+ Transition settings (they can be partial)
+ Whether to overlay over the current settins or replace them
+ Updated transition settings
-
+
- List of transitions.
+ Change the volume of the specified source
+ Name of the source which volume will be changed
+ Desired volume. Must be between `0.0` and `1.0` for amplitude/mul (useDecibel is false), and under 0.0 for dB (useDecibel is true). Note: OBS will interpret dB values under -100.0 as Inf.
+ Interperet `volume` data as decibels instead of amplitude/mul.
-
+
- Heartbeat response
+ Get the volume of the specified source
+ Volume is between `0.0` and `1.0` if using amplitude/mul (useDecibel is false), under `0.0` if using dB (useDecibel is true).
+ Source name
+ An Object containing the volume and mute state of the specified source.
-
+
- Toggles between every JSON message as an "I am alive" indicator.
+ Gets the audio mute state of an input.
+ Name of input to get the mute state of
+ Whether the input is muted
-
+
- Current active profile.
+ Set the mute state of the specified source
+ Name of the source which mute state will be changed
+ Desired mute state
-
+
- Current active scene.
+ Toggle the mute state of the specified source
+ Name of the source which mute state will be toggled
-
+
- Current streaming state.
+ Sets the transform and crop info of a scene item
+ Name of the scene that has the SceneItem
+ Id of the Scene Item
+ JObject holding transform settings
-
+
- Total time (in seconds) since the stream started.
+ Sets the transform and crop info of a scene item
+ Name of the scene that has the SceneItem
+ Id of the Scene Item
+ Transform settings
-
+
- Total bytes sent since the stream started.
+ Set the current scene collection to the specified one
+ Desired scene collection name
-
+
- Total frames streamed since the stream started.
+ Get the name of the current scene collection
+ Name of the current scene collection
-
+
- Current recording state.
+ List all scene collections
+ A of the names of all scene collections
-
+
- Total time (in seconds) since recording started.
+ Set the current profile to the specified one
+ Name of the desired profile
-
+
- Total bytes recorded since the recording started.
+ List all profiles
+ A of the names of all profiles
-
+
- Total frames recorded since the recording started.
+ Start streaming. Will trigger an error if streaming is already active
-
+
- OBS Stats
+ Stop streaming. Will trigger an error if streaming is not active.
-
+