Resource icon

obs-websocket - Remote control of OBS Studio made easy 4.6.1

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.
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.
At last! obs-websocket 4.2.0 is out after such a long wait!
There are too many new features and changes to list, so the best thing to do is go straight to the release page on GitHub for a detailed changelog and installation instructions.

I'd like to give many thanks to people who have contributed code and testing, as well as Support Class and MediaUnit who supported the project and made some of the features of this release a reality!
Likes: RytoEX
Top