Resource icon

obs-websocket - Remote-control OBS Studio from WebSockets 4.8.0

Only use this release with OBS Studio 25 or above!

Changes since 4.7.0

New Features

Enhancements
Fixes
  • Fixed crashes when calling EnableStudioMode, DisableStudioMode or ToggleStudioMode
  • Fixed an issue where SetStreamSettings wouldn't apply if switching service type
  • Any event that returns transition duration now returns -1 if the transition is fixed (Eg. Cut, Stinger)
  • SetSyncOffset now allows negative offsets
  • Removed from-scene from TransitionEnd since it isnt actually available
  • Fixed JPEG support in TakeSourceScreenshot on Windows
  • Fixed a crash when sending an event on OBS exit
  • Fixed source recognition on GDI+ and Freetype 2 sources
  • Fixed the OBS log getting spammed with unnecessary messages on Linux (regardless of whether debug logging was enabled)
  • Fixed an issue where the plugin failed to load on MacOS
  • Fixed a bunch of memory leaks in GetCurrentProfile, GetCurrentSceneCollection and the Heartbeat event
Important Notes
Windows, Linux and macOS Install instructions: see the release page on GitHub.
Only use this release with OBS 23 or above!

Changed since 4.6.1
Windows, Linux and macOS Install instructions: see the release page on GitHub.
  • Like
Reactions: 11rogelio57
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.
Windows, Linux and macOS Install instructions: see the release page on GitHub.
Only use this release with OBS 23 or above!

4.6.0 release
  • 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.
Windows, Linux and macOS Install instructions: see the release page on GitHub.
Only use this release with OBS 22 or above!

4.5.1 bugfix release
  • Bugfix: plugin not loading on Ubuntu (misplaced binary)
  • Bugfix: improper control flow in filter management requests (missing return statements)
4.5.0 changes
  • New request types:
    • Filter management:
      • GetSourceFilters
      • AddFilterToSource
      • RemoveFilterFromSource
      • ReorderSourceFilter
      • MoveSourceFilter
      • SetSourceFilterSettings
    • Scene Items:
      • DeleteSceneItem
      • DuplicateSceneItem
      • ReorderSceneItems
    • Source settings:
      • GetTextFreetype2Properties
      • SetTextFreetype2Properties
  • Updated request types:
    • Breaking changes in GetTextGDIPlusProperties, SetTextGDIPlusProperties, GetBrowserSourceProperties and SetBrowserSourceProperties:
      • Removed the scene-name parameter: deemed useless on sources, which are independent from scenes
      • Removed the render request parameter and response property
    • GetVolume: fix typo in protocol specification (❎ mute ; ✔ muted)
  • Refactored authentication code:
    • If you have authentication enabled and your current password doesn't work anymore, try setting it again.
  • macOS Bugfix: Qt version mismatch
  • Fixed various typos in the protocol specification
Windows, Linux and macOS Install instructions: see the release page on GitHub.
Only use this release with OBS 22 or above!

Changes since 4.4.0
  • New request types:
    • Filter management:
      • GetSourceFilters
      • AddFilterToSource
      • RemoveFilterFromSource
      • ReorderSourceFilter
      • MoveSourceFilter
      • SetSourceFilterSettings
    • Scene Items:
      • DeleteSceneItem
      • DuplicateSceneItem
      • ReorderSceneItems
    • Source settings:
      • GetTextFreetype2Properties
      • SetTextFreetype2Properties
  • Updated request types:
    • Breaking changes in GetTextGDIPlusProperties, SetTextGDIPlusProperties, GetBrowserSourceProperties and SetBrowserSourceProperties:
      • Removed the scene-name parameter: deemed useless on sources, which are independent from scenes
      • Removed the render request parameter and response property
    • GetVolume: fix typo in protocol specification (❎ mute ; ✔ muted)
  • Refactored authentication code:
    • If you have authentication enabled and your current password doesn't work anymore, try setting it again.
  • macOS Bugfix: Qt version mismatch
  • Fixed various typos in the protocol specification
Windows, Linux and macOS Install instructions: see the release page on GitHub.
  • Like
Reactions: CeH9 and MartiieZ
Only use this release with OBS 22 or above!

Changes since 4.3.3
  • TransitionBegin event: new from-scene and to-scene fields to provide source and destination scene names for the currently running transition
  • Bugfix: TransitionBegin event not triggering when using Transition Overrides
  • Improvement: better handling of "preview scene changed" events provided by libobs
Windows, Linux and macOS Install instructions: see the release page on GitHub.
Changes since 4.3.2
  • [Windows only] Compatibility fixes for OBS Studio 21.1:
    • Compiler upgraded to Visual Studio 2015
    • Qt upgraded to 5.10.1
Windows, Linux and macOS Install instructions: see the release page on GitHub.
Changes since 4.3.1
  • Crash on systray notifications when no systray is available (is the case on some minimal Linux desktops)
  • Passwords not saved properly (caused by bad string handling)
Windows, Linux and macOS Install instructions: see the release page on GitHub.
Changes since 4.3
  • Bugfix: crash when switching between scene collections
Windows, Linux and macOS Install instructions: see the release page on GitHub.
Top