OBS

OBS

Contents

Setup

Outgoing channel : "OBS_CHANNEL"

Authorization fields

Field 1

  • Name: "obshost"
  • Value: hostname (ie localhost)

Field 2

  • Name: "obsport"
  • Port to use

Field 3

  • Name: "obspass"
  • Value: password

Provides connection to OBS for information and control.

Triggers/Actions

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: Wed, 12 Mar 2025 05:38:02 GMT

Triggers

name trigger description
OBSStreamingStarted trigger_StreamStarted Stream Started
OBSStreamingStopped trigger_StreamStopped Stream Stopped
OBSSceneChanged trigger_SceneChanged Scene was changed

Actions

name trigger description
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

SaveConfigToServer()

save config file to the server
Source:

SendCredentialsModal(extensionname)

Send our CredentialsModal to whoever requested it
Parameters:
Name Type Description
extensionname String
Source:

SendSettingsWidgetLarge(tochannel)

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
tochannel String
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(data)

Called when the stream is started
Parameters:
Name Type Description
data Object
Source:

StreamStopped(data)

Called when the stream is stopped
Parameters:
Name Type Description
data Object
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:

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: