Skip to content
Choose a tag to compare

obs-websocket 4.6.1

@Palakis Palakis released this
· 692 commits to 4.x-current since this release
Choose a tag to compare

Only use this release with OBS 23 or above!

4.6.1 Hotfix Changes

  • Bugfix: TransitionBegin event not triggering at all

4.6.0 Changes

  • Revamped WebSockets server: the WebSockets server backend was completely rewritten. Instead of Qt's WebSockets library, starting with 4.6 obs-websocket now uses websocketpp by zaphoyd. Other benefits include:
    • Requests are received and processed in a separate dedicated threads. The old server processed everything in the UI/main window thread.
    • Everything (main plugin + server dependencies) is now in a single binary file.
  • Server settings are now per-profile settings instead of global settings: the server is automatically started, stopped or restarted when switching profiles. New profiles inherit settings from the previously selected profile.
  • New request types:
    • TakeSourceScreenshot: take an image snapshot of a source (either an input or a scene) and save it straight to a file and/or receive it in the response as base64-encoded Data URI
    • SendCaptions (Windows/macOS only): send closed captions text to the streaming output. For instance, Twitch's player supports closed captions sent through SendCaptions
    • GetStats: provides most of the metrics found in OBS' Stats window.
    • GetVideoInfo: Fetch information about OBS' video output settings: base/canvas size and output size, pixel format, YUV settings, ...
  • New event types:
  • Feature: StreamStatus and Heartbeat events now include data from OBS' stats and a replay-buffer-active property (for StreamStatus)
  • Feature: GetSceneItemProperties and SetSceneItemProperties now have support for a locked property that allows users to lock or unlock a scene item and get its current lock state
  • Feature: the response from GetSceneItemProperties now includes width and height values computed from the item's base dimensions and current scaling settings.
  • Source and Scene Item events enhancements:
    • Source and Scene Item events will also be triggered for the current preview scene (in Studio Mode) and scenes not currently visible on program or preview
    • All scene item events now include an item-id property
    • SourceOrderChanged now includes a list of the reordered scene items
  • Fixed incompatibilites with Groups:
    • Scene Item requests can now target items nested in groups
    • Scene item data now includes two new properties:
      • parentGroupName on scene items that belong to a group
      • children on groups
  • Bugfix: crash on startup when the "port already in use" message shows up
  • Bugfix: error with SetSceneItemProperties when trying to set the bounds type of a scene item
  • Bugfix: plugin not loading on Ubuntu when installing through the .deb file (wrong plugin path)
  • Bugfix (docs): GetSourcesTypesList is supposed to be GetSourceTypesList
  • Docs: the Protocol Specification now includes type definitions that can be shared among several request types. These encourage reusing existing response formats, and allows obs-websocket-js to provide type definitions in their TypeScript bindings.

Install instructions


  • Using the installer (recommended, works only with combined 32/64-bit installations) : download it, launch it and follow the instructions.
  • Using the archive : copy the contents of the archive to the root of your OBS Studio installation folder (either C:\Program Files\obs-studio or C:\Program Files (x86)\obs-studio).

Debian / Ubuntu (64-bit)

  • Manual install: Download obs-websocket_4.6.1-1_amd64.deb and install it on your system.


Download and run obs-websocket-4.6.1.pkg.
Note: the installer package is now digitally signed, so macOS shouldn't complain. However, if it is the case and a security alert pops up when trying to launch the installer, go to the "Security & Privacy" panel under macOS Settings and click "Open Anyway".