Loading...
obs-multisite
Control a Multisite broadcast from Companion: start and stop the event at the main site, and drive a campus feed's timeslipping — play, hold, catch up, jog — with buttons that light up to show what is actually happening.
It can drive either end of the system: OBS running the obs-multisite plugin, or a campus player appliance, which has no OBS and answers over its own HTTP interface. Pick which when you add the connection; the buttons are the same.
127.0.0.1 if Companion is on the same machine.For OBS you also need the obs-multisite plugin loaded (Tools → Multisite, or a Multisite source in the scene) and the WebSocket Server turned on. The module opens its own connection, so the host, port and password are the same values you may have given the OBS Studio module — Companion modules each own their connection.
For a campus player there is nothing to switch on, and no password: the appliance's interface is guarded by the network it is on and by its own Lock.
Main site (encoder) — OBS only. A campus player only ever receives, so these are not offered against one.
Campus (decoder)
Any obs-multisite request — call any command of the plugin by name, with a JSON object. The escape hatch for a command a newer plugin has that this module does not yet.
A link reading is only shown once it is a real measurement; before anything has been tried it is blank rather than "healthy".
Encoder (OBS only): encoder_live, encoder_status, encoder_event_id,
encoder_event_name, encoder_room, encoder_confirmed, encoder_pending,
encoder_retries, encoder_bytes, encoder_upload_rate, encoder_link,
encoder_colo, encoder_version.
Decoder: decoder_state, decoder_have_source, decoder_playing,
decoder_held, decoder_buffering, decoder_loading, decoder_ended,
decoder_behind_live, decoder_playhead, decoder_live,
decoder_cached_segments, decoder_link, decoder_current_marker,
decoder_event_id, decoder_room, decoder_version.
Against a campus player, a few of the decoder's are simply blank because the
appliance does not publish them: decoder_current_marker and decoder_version.
decoder_have_source always reads yes, since a player is always meant to be
playing something.
Two banks — Multisite: main site (Go live, End, status) and Multisite: campus (Play, Hold, Resume, Catch up, Return to the room, Jog either way, status) — with the feedbacks already attached. Only the campus bank is offered against a campus player.
Under each bank there is also a Markers group (main site) or a Cues group (campus) with one button per cue, already named: Sermon Start, Offering, and so on. Those are generated from the markers in play, so they change as the main site's configuration and the room's markers do. The campus bank also carries a Drop a cue group: one button whose name you set, to drop a cue from this campus under the site name configured on that box.