Bitfocus AS
logo
logo
Bitfocus AS
logo
logo
Sign upSign in

Loading...

Bitfocus

Subscribe to our newsletter

The latest news, articles, and resources, sent to your inbox.

FacebookInstagramGitHubYouTubeLinkedIn

Products

  • Buttons
  • Companion

Integrations

  • Supported Devices
  • Developer Community
  • Connection Development

Support

  • Support Overview
  • Documentation
  • Video Tutorials
  • Community Forum

Sales

  • Resellers & Integrators
  • Buttons Pricing

Updates

  • Case Studies
  • Events & Trade Shows
  • Press Releases
  • Product Updates
  • Webinars

Legal

  • Legal Overview
  • Privacy Policy
  • Buttons EULA
  • Terms & Cookie Policy

Company

  • About us
  • Press kit
  • Careers

© 2026 Bitfocus AS. All rights reserved.

  1. Connections
  2. OBS - Studio

OBS

Studio

Communityv4.0.0-beta.4Updated 7 days agoStreamingVideo
DocumentationReport an issueView on GitHub

Documentation

OBS Studio

Control OBS Studio from Bitfocus Buttons or Bitfocus Companion using OBS's built-in WebSocket server.

Requirements: Version 4 of this module requires Buttons 1.8 or newer or Companion 5.0 or newer. OBS Studio 32.1 or newer is recommended.

Connect to OBS

  1. In OBS Studio, open Tools → WebSocket Server Settings.
  2. Enable the WebSocket server.
  3. Select Show Connect Info to see the address, port, and password.
  4. Enter those values in the OBS Studio connection settings in Buttons or Companion.

The default obs-websocket port is 4455. Leave the password blank only when authentication is disabled in OBS.

The default connection type is WebSocket (ws). Choose Secure WebSocket (wss) only when the OBS server or a reverse proxy has been configured for TLS. Selecting wss does not enable TLS in OBS by itself.

Actions

Recording, streaming, and outputs

ActionCapabilities
Recording – ControlsStart, stop, toggle, pause, resume, split, or create a chapter
Streaming – ControlsStart, stop, or toggle streaming
Streaming – Set Stream SettingsChange the configured streaming service
Streaming – Send CaptionSend caption text to the active stream
Replay Buffer – ControlsStart, stop, toggle, or save the replay buffer
Output – ControlsStart, stop, or toggle an OBS output

Scenes and transitions

ActionCapabilities
Scene – Set Program SceneSwitch the current program scene
Scene – Set Preview SceneChange the preview scene
Scene – Smart Scene SwitcherPreview a scene, or transition it when already in preview
Transitions – Perform TransitionPerform a transition; Studio Mode must be active
Transitions – Quick TransitionPerform a transition, then restore the previous transition
Transitions – Set TypeSelect or cycle through transition types
Transitions – Set DurationSet or adjust the transition duration

Sources, groups, and filters

ActionCapabilities
Source – Set VisibilityShow, hide, or toggle selected sources, all sources, or group items
Source – Set Transform PropertiesSet position, scale, and rotation
Source – Set Source TextReplace the contents of a text source
Source – Set Text PropertiesChange font, colour, alignment, outline, background, and layout
Filters – Set VisibilityEnable, disable, or toggle a source or scene filter
Filters – Set SettingsApply filter settings supplied as JSON
Source – Refresh Browser SourceReload a browser source
Source – Reset Video Capture DeviceDeactivate and reactivate a capture device
Source – Take ScreenshotSave an image of a source, program scene, or preview scene

Audio

ActionCapabilities
Audio – MuteMute, unmute, or toggle a source
Audio – Source VolumeSet or adjust dB/percent volume, optionally with a fade
Audio – Set Audio MonitoringEnable, disable, or toggle monitoring
Audio – Source Audio OffsetSet or adjust audio sync offset
Audio – Source Audio BalanceSet or adjust stereo balance
Audio – Set Audio TracksEnable, disable, or toggle mixer tracks

Media

Media actions can target a specific source, the newest playing clip, or all playing clips. “Newest” and “all” include playing or paused media sources that are active in program.

ActionCapabilities
Media – Playback ControlsPlay, pause, toggle, restart, stop, next, or previous
Media – Set / Scrub Playback TimeSet an absolute time or move relative to the current time
Media – Set Source FileChange the local file used by a media source

OBS interface and general controls

ActionCapabilities
Studio ModeEnable, disable, or toggle Studio Mode
Set ProfileSelect an OBS profile
Set Scene CollectionSelect an OBS scene collection
Hotkey – Trigger by Key SequenceTrigger a keyboard shortcut
Hotkey – Trigger by IDTrigger an OBS hotkey by its registered identifier
UI – Open Source Properties WindowOpen source properties in OBS
UI – Open Source Filter WindowOpen source filters in OBS
UI – Open Source Interaction WindowOpen the interaction window for a browser source
UI – Open ProjectorOpen an OBS projector window

Feedbacks

Boolean feedbacks become active when their condition matches. They can change a button's style or be combined with other feedbacks.

Status feedbacks

AreaFeedbacks
Recording and streamingStreaming Active, Streaming Reconnecting, Recording Active, Recording Paused
OutputsOutput Active, Replay Buffer Active
Scenes and transitionsScene Program, Scene Preview, Scene Previous, Transition In Progress, Transition Type, Transition Duration
Sources and filtersSource Visible in Program, Source Active in Preview, Source Enabled in Scene, Filter Enabled
AudioMuted, Monitoring, Track Enabled, Volume, Peaking
MediaPlaying, Remaining Time
GeneralProfile Active, Scene Collection Active, Studio Mode Active, Disk Space Remaining
AdvancedCustom – Vendor Event

Value feedbacks

Value feedbacks report a number instead of directly applying a style. Bind one to a button's local variable and use that value in an expression or graphical element such as a gauge.

  • Audio – Peak Level (dB)
  • Audio – Volume (dB)
  • Audio – Balance (%)
  • Audio – Sync Offset (ms)
  • Media – Playback Progress (%)
  • Media – Remaining Time (seconds)
  • Streaming – Stream Congestion Level

Variables

Use module variables in button text, expressions, action options, and feedback options. The variable browser shows the exact ID available to the current connection.

Recording, streaming, and outputs

  • recording, streaming, and stream_service
  • recording_file_name and recording_path
  • recording_timecode and its _hh, _mm, and _ss variants
  • stream_timecode and its _hh, _mm, and _ss variants
  • kbits_per_sec
  • render_missed_frames, render_total_frames
  • output_skipped_frames, output_total_frames
  • stream_output_skipped_frames, stream_output_total_frames
  • average_frame_time
  • replay_buffer_path, replay_buffer_active
  • virtualcam_active

Scenes and transitions

  • scene_active, scene_preview, scene_previous
  • scene_1, scene_2, and so on, ordered from the top of the OBS scene list
  • current_transition, transition_duration, transition_active
  • transition_list

Media collections

  • current_media_name — list of playing or paused media sources active in program
  • current_media_time_elapsed — matching list of elapsed times
  • current_media_time_remaining — matching list of remaining times
  • latest_media_name — most recently started source from that active collection
  • latest_media_time_elapsed and latest_media_time_remaining

Per-source variables

Per-source IDs end with a sanitized source name. Spaces and punctuation are converted so the name is safe to use as a variable ID. For example, a source named “Camera 1” uses a suffix such as Camera_1.

PatternMeaning
current_text_SOURCECurrent text-source contents
media_status_SOURCEPlaying, paused, stopped, ended, or error
media_file_name_SOURCECurrent media filename without its extension
media_time_elapsed_SOURCECurrent media elapsed time
media_time_remaining_SOURCECurrent media remaining time
image_file_name_SOURCECurrent image filename
volume_SOURCECurrent source volume in dB
mute_SOURCEMuted or Unmuted
monitor_SOURCEOBS audio monitoring mode
monitor_active_SOURCEWhether audio monitoring is enabled
sync_offset_SOURCEAudio sync offset in milliseconds
balance_SOURCEAudio balance
tracks_SOURCEList of enabled mixer track numbers
source_active_SOURCEWhether the source is active in program

The available per-source variables depend on the source type and capabilities reported by OBS.

General and system variables

  • profile, scene_collection, studio_mode
  • fps, cpu_usage, memory_usage
  • free_disk_space, free_disk_space_mb
  • base_resolution, output_resolution, target_framerate
  • audio_source_list
  • screenshot_saved_path

Advanced variables

  • custom_command_type, custom_command_request, custom_command_response
  • vendor_event_name, vendor_event_type, vendor_event_data

Advanced WebSocket features

Custom – Send Command

Send any obs-websocket request that is not covered by a dedicated action. The request data must be a valid JSON object. Request names and fields are documented in the obs-websocket protocol reference.

The latest request type, request data, and response are published in the corresponding custom_command_* variables.

Custom – Send Vendor Request

Send a request registered by an OBS plugin. Vendor name, request type, and request data are defined by that plugin. Consult the plugin's documentation; behavior cannot be generalized across vendors.

Custom – Vendor Event feedback

Matches events emitted by OBS plugins. The latest received event is also exposed through the vendor_event_* variables.

Details

Manufacturer
OBS
Product
Studio
Latest Version
v4.0.0-beta.4
Authors
William Viker
Bryce Seifert
Contributors
bryce-seifert(267)
krocheck(36)
JeffreyDavidsz(27)
eric(18)
mattehalen(9)

Open Issues and Requests

Matdix#373 Streaming time not the real oneStrohgelaender#365 Multi Canvas SupportWiethoofd#353 Set and see stream delay status as variablesWiethoofd#345 Set output of virtual cameraukiews#320 Restart OBS ACTION

To file a new issue, you need to sign up for a user on GitHub.

Go to GitHub issues →

In other news

Buttons v1.8 Main with text

Buttons v1.8

October 2, 2026

Buttons v1.8 IBC award win

Bitfocus wins IBC2026 Best of Show Award for latest Buttons enhancements

September 21, 2026

Buttons v1.8 grey background

Biggest functionality boost yet makes Buttons the perfect platform for broadcast and media management

September 10, 2026

Vivid Buttons on screen

Bitfocus Buttons makes complex OB production feel simple

August 10, 2026

View all news →