OBS

OBS

Contents

Triggers and actions below are updated when the automatic document generation system is run and only contain triggers actions relating to this specific extension.

Table last updated: Thu, 24 Apr 2025 00:04:28 GMT

About

Provides connection to OBS for information and control.

Credentials

Follow the steps on the the StreamRoller main settings page for the extension

Triggers/Actions

name trigger description
OBSStreamingStarted trigger_StreamStarted Stream Started
OBSStreamingStopped trigger_StreamStopped Stream Stopped
OBSRecordingStarted trigger_RecordingStarted Recording Started
OBSRecordingStopped trigger_RecordingStopped Recording Stopped
OBSSceneChanged trigger_SceneChanged Scene was changed
UpdatedDocTime

Triggers

ReplaceTAGForTriggers

Actions

name trigger description
OBSStartStream action_StartStream Start Streaming in OBS
OBSStopStream action_StopStream Stop Streaming in OBS
OBSStartRecording action_StartRecording Start Recording in OBS
OBSStopRecording action_StopRecording Stop Recording in OBS
OBSToggleFilter action_ToggleFilter Enable/Disable a filter (true/false)
OBSChangeScene action_ChangeScene Switch to the OBS scene provided by sceneName
OBSEnableSource action_EnableSource Turn a source on or off, ie to enable animations, cameraas etc
OBSToggleMute action_ToggleMute Toggles mute on the source selected, suggest that mic is put in to it's own scene and imported into all others to make this universal
OBSSetSceneItemTransform action_SetSceneItemTransform Sets the Scene Transform for a given item (note rotation respects the alignment in OBS. It's recommneded to set alightment in OBS to center)

"OBS" Extension Details...

Connects to Open Broadcasting Software to allow control/events to be processed.
Note needs triggers and actions updated as a lot of messages are currently
not in the trigger/action list
Source:

Methods

DeleteCredentialsOnServer()

Delete our credential file from the server
Source:

RecordingStarted()

Called when the Recording is started
Source:

RecordingStopped()

Called when the Recording is stopped
Source:

SaveConfigToServer()

save config file to the server
Source:

SaveCredentialToServer(name, value)

Sends Credential to the server to be saved
Parameters:
Name Type Description
name string
value string
Source:

SendSettingsWidgetLarge(to)

send some modal code to be displayed on the admin page or somewhere else this is done as part of the webpage request for modal message we get from extension. It is a way of getting some user feedback via submitted forms from a page that supports the modal system
Parameters:
Name Type Description
to String channel to send to or "" to broadcast
Source:

SendSettingsWidgetSmall(toextension)

send some modal code to be displayed on the admin page or somewhere else this is done as part of the webpage request for modal message we get from extension. It is a way of getting some user feedback via submitted forms from a page that supports the modal system
Parameters:
Name Type Description
toextension String
Source:

StreamStarted()

Called when the stream is started
Source:

StreamStopped()

Called when the stream is stopped
Source:

ToggleMute(data)

Toggles OBS mute using a scene containing the microphone that is used in all other scenes needing the mic in them
Parameters:
Name Type Description
data object
Source:

activateFilter(data)

Hide/unhide a filter on an obs sourceName
Parameters:
Name Type Description
data object {sourceName, filterName, filterEnabled}
Source:

changeScene(scene)

Changes OBS to the given scene
Parameters:
Name Type Description
scene string
Source:

connectToObs()

connects to the obs server
Source:

disconnectObs()

disconnect obs
Source:

enableSource(sourcedata)

Enables/unhides a source in OBS
Parameters:
Name Type Description
sourcedata object
Source:

findTriggerByMessageType(messagetype)

Finds the given trigger object by name
Parameters:
Name Type Description
messagetype string
Source:
Returns:
trigger object found or null

(async) getFilters()

Get all the filters for scenes
Source:

heartBeatCallback()

Sends out heartbeat messages allowing other extensions to monitor our status
Source:

initialise(app, host, port, heartbeat)

Starts the extension using the given data.
Parameters:
Name Type Description
app object:Express
host string
port number
heartbeat number
Source:

onDataCenterConnect()

Called on connection to the StreamRoller server
Source:

onDataCenterDisconnect(reason)

Disconnection message sent from the server
Parameters:
Name Type Description
reason String
Source:

onDataCenterMessage(server_packet)

receives message from the socket
Parameters:
Name Type Description
server_packet data
Source:

onFilterChanged(data)

Callback from OBS that a filter has changed
Parameters:
Name Type Description
data object
Source:

onScenesListChanged(data)

Callback from OBS that scenes have changed
Parameters:
Name Type Description
data object
Source:

onSourceMuteStateChanged(data)

Callback from OBS when the mute option changes
Parameters:
Name Type Description
data object
Source:

onStreamStatus(data)

Callback from OBS on the status of the stream
Parameters:
Name Type Description
data object
Source:

onSwitchedScenes(scene)

handles onSceneChanged callback
Parameters:
Name Type Description
scene Scene
Source:

parseSettingsWidgetLargeData(extData)

parse the received data from a modal submit from the user
Parameters:
Name Type Description
extData object // modal data
Source:

processOBSSceneList(scenes)

process a new list of scenes from OBS
Parameters:
Name Type Description
scenes object
Source:

sendScenes()

Sends out a scenes list message ScenesList (triggered by the get scenes call)
Source:

sendStreamStats(data)

Sends out an OBSStats message on our channel containing the status of OBS
Parameters:
Name Type Description
data object
Source:

setSceneItemTransform(requestData)

Change the transform parameters for a given scene
Parameters:
Name Type Description
requestData object { alignment, boundsAlignment, boundsHeight, boundsType, boundsWidth, cropBottom, cropLeft, cropRight, cropTop, height, positionX, positionY, rotation, scaleX, scaleY, sourceHeight, sourceWidth, width}
Source:

startRecording(extension_data)

Starts OBS Recording
Parameters:
Name Type Description
extension_data string
Source:

startStream(extension_data)

Starts OBS streaming
Parameters:
Name Type Description
extension_data string
Source:

stopRecording(scene)

Stops OBS Recording
Parameters:
Name Type Description
scene string
Source:

stopStream(scene)

Stops OBS streaming
Parameters:
Name Type Description
scene string
Source: