Obs-websocket-py

Latest version: v1.0

Safety actively analyzes 681775 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 5

18.0.0

If you get an error message with `obs_output_get_congestion` in it, this means you'll have to update your OBS Studio installation to the latest version.

**WARNING:** This release will ignore your existing Websocket settings if created with an older release of obs-websocket, as the way settings are saved changes with obs-websocket 4.0.0.

5.0.1

THIS VERSION (5.0.1) DOES NOT USE THE SAME PROTOCOL AS PREVIOUS 4.X VERSIONS LIKE 4.9.1. ADDITIONALLY INSTALL `4.9.1-compat` (AVAILABLE BELOW) TO MAINTAIN 4.X PROTOCOL SUPPORT

Important Notes
- **Only use this release with OBS Studio v27! Do not install this if you are using an OBS version other than v27**

Resources
- The protocol specification is available [here](https://github.com/Palakis/obs-websocket/blob/master/docs/generated/protocol.md)
- The [README](https://github.com/obsproject/obs-websocket#readme) has some software and libraries that support 5.0.0.

5.0.0

THIS VERSION (5.0.0) DOES NOT USE THE SAME PROTOCOL AS PREVIOUS 4.X VERSIONS LIKE 4.9.1. ADDITIONALLY INSTALL `4.9.1-compat` (AVAILABLE BELOW) TO MAINTAIN 4.X PROTOCOL SUPPORT

Important Notes
- **Only use this release with OBS Studio 27.2.0 or above!**

Resources
- The protocol specification is available [here](https://github.com/Palakis/obs-websocket/blob/master/docs/generated/protocol.md)
- The [README](https://github.com/obsproject/obs-websocket#readme) has some software and libraries that support 5.0.0.

Changes since 4.x

There are way too many changes to list here, so I'll just summarize some of the highlights

UI
- The UI has gotten a full revamp.
- New "Session Table" which displays the remote address of all currently connected WebSocket clients.
- New "Connect Info" dialog, featuring the ability to copy the IP and password of the server, and also a QR code generator which can be scanned to connect to obs-websocket locally.
- Password authentication is enabled by default, and generates a secure password for you that you can copy. **We recommend always keeping authentication enabled, with a password generated by obs-websocket.**

Protocol
- **The default port for obs-websocket 5.x is now `4455`.
- The protocol has gotten a revamp, with many QOL improvements over the 4.x protocol. This is effectively a new protocol, so **applications designed to work only with 4.x versions will not work with 5.x versions.**
- See [here](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md#design-goals) for the design goals regarding the 5.x protocol.

Requests
- Virtually anything possible in 4.x is possible in 5.x. If you are having trouble migrating your code to 5.x, you are invited to join the [Discord](https://discord.gg/WBaSQ3A) server and ask for guidance. We are also working on a migration guide which will be releasing soon.
- We added a new "vendor" API to obs-websocket, which allows third-party plugins to extend their plugin's functionality through obs-websocket requests and events. If you are an OBS plugin author, we invite you to explore this system as a means of adding further features to your plugins.
- We've already added this functionality to [obs-browser](https://github.com/obsproject/obs-browser/pull/340)
- A sample plugin c file with this feature can be found [here](https://github.com/obsproject/obs-websocket/blob/master/lib/example/simplest-plugin.c)
- Some new requests have been added for opening UI dialogs. This should have great adoption for people building macros.
- `OpenInputPropertiesDialog`
- `OpenInputFiltersDialog`
- `OpenInputInteractDialog`
- We've added [`Get/SetPersistentData`](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md#getpersistentdata) to allow you to store custom JSON data on the machine where obs-websocket is running.
- You can now set OBS' video settings via [`Get/SetVideoSettings`.](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md#getvideosettings)
- The ability to remove inputs (previously called sources) has finally been added.
- Limited support for groups has been added, but we recommend using nested scenes over groups when possible.
- You can now change the blend mode of scene items.

Request Batches
- [Request batches](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md#requestbatch-opcode-8) have gotten a bit of an overhaul.
- We've added a new [RequestBatchExecutionType](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md#requestbatchexecutiontype), allowing you to do things like execute requests in batches in-sync with video composition for things like animations.
- [Here](https://github.com/IRLToolkit/simpleobsws/blob/master/samples/sample_dvd_logo.py) is a Python sample from simpleobsws where the classic DVD bounce animation is recreated using SerialFrame request batches.

Events
- It's now possible to receive a stream of audio level updates by subscribing to the [`InputVolumeMeters` event.](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md#inputvolumemeters)
- We've added the `CurrentSceneCollectionChanging` event which should be used as a signal to pause any outgoing requests to obs-websocket. Performing requests during a scene collection change is considered undefined behavior.
- More audio-related input events like `InputAudioBalanceChanged`.

Install instructions

Windows

- **Using the installer (recommended)** : download it, launch it and follow the instructions.
- Using the `obs-websocket-5.0.0-Windows.zip` archive : copy the contents of the archive to the root of your OBS Studio installation folder (`C:\Program Files\obs-studio`).

Debian / Ubuntu (64-bit)

Download `obs-websocket-5.0.0-Ubuntu64.deb` (provided below) and install it on your system.

macOS

Download `obs-websocket-5.0.0-macOS.pkg` and run it, following the instructions.

4.x compatability

We have also included binaries for a version of obs-websocket, `4.9.1-compat`. This can be run alongside 5.0.0 in OBS and can provide legacy support for the 4.x protocol.

5.0.0beta1

THIS IS A PRE-RELEASE. UNLESS YOU KNOW EXACTLY WHAT YOU ARE DOING, DOWNLOAD 4.9.1
Important Notes
- **Only use this release with OBS Studio 27.2.0 or above!**
- **This is the first release which is basically feature complete. See the todo below for missing requests.**
- **If you develop software that integrates with obs-websocket, we highly recommend releasing a version that supports the 5.x protocol, as there is not much more time before we release 5.0.0.**

Resources
- The protocol specification is available [here](https://github.com/Palakis/obs-websocket/blob/master/docs/generated/protocol.md)
- The planned requests sheet is available [here](https://docs.google.com/spreadsheets/d/1LfCZrbT8e7cSaKo_TuPDd-CJiptL7RSuo8iE63vMmMs/edit)
- The planned events sheet is available [here](https://docs.google.com/spreadsheets/d/1XPVDRFwC2DNAnIBo8zKyxjG_Cnun04M4w5RwE0-JHG8/edit)
- The [README](https://github.com/obsproject/obs-websocket#readme) has been updated with a few 5.x-compatible libraries.

__What's left to do?:__
The goal of 5.0.0 is to reach feature parity with 4.x. As such, all that's left to do is to implement the projector and output requests (like `GetOutputList`). Since a very small number of people generally use these requests, I decided to release beta1 with them not included for now. These requests will be implemented before 5.0.0 is released.

5.0.0alpha3

THIS IS A PRE-RELEASE. UNLESS YOU KNOW EXACTLY WHAT YOU ARE DOING, DOWNLOAD 4.9.1
Important Notes
- **Only use this release with OBS Studio 27.1.3 or above.**
- **All plugin components have been finished, however there are some events and requests which have not yet been implemented. See the event and request sheets to find out what has been implemented.**

Resources
- The protocol specification is available [here](https://github.com/Palakis/obs-websocket/blob/master/docs/generated/protocol.md)
- The planned requests sheet is available [here](https://docs.google.com/spreadsheets/d/1LfCZrbT8e7cSaKo_TuPDd-CJiptL7RSuo8iE63vMmMs/edit)
- The planned events sheet is available [here](https://docs.google.com/spreadsheets/d/1XPVDRFwC2DNAnIBo8zKyxjG_Cnun04M4w5RwE0-JHG8/edit)
- To aid developers, I've updated simpleobsws (a client library I maintain) for the latest 5.0.0 protocol spec. This should help with testing and as an implementation example. See the branch [here](https://github.com/IRLToolkit/simpleobsws/tree/master)

So what's going on?

As you may have noticed, we've moved to the OBS Project! The plan is to begin bundling obs-websocket with OBS Studio starting with version 28.0.0. Palakis and I have joined the OBS Project's core team as a result, which has significantly accelerated the development of new features for obs-websocket. Version 5.0.0 will still be released independently of OBS, but alongside version 27.2.

We expect to have at least 6 months between the official release of 5.0.0 and the bundling of obs-websocket into OBS, providing a fair amount of time to transition legacy 4.x applications to 5.x. Even after obs-websocket is bundled with OBS, it should still be possible to replace the obs-websocket binary file with a 4.x version to keep using 4.x.

__Release plans:__
The version being released today is probably roughly 90% feature-complete. As such, we expect the next pre-release version to be 5.0.0-beta1 (feature-complete release), after the OBS 27.2.0 beta is released. From there, it's just down to whatever bugs need fixing.

5.0.0alpha2

THIS IS A PRE-RELEASE. UNLESS YOU KNOW EXACTLY WHAT YOU ARE DOING, DOWNLOAD 4.9.1
Important Notes
- **Only use this release with OBS Studio 27.1.0 or above.**
- **All plugin components have been finished, however there are some events and requests which have not yet been implemented. See the event and request sheets to find out what has been implemented.**

Resources
- The protocol specification is available [here](https://github.com/Palakis/obs-websocket/blob/master/docs/generated/protocol.md)
- Breaking changes to the protocol specification performed during the development process are available [here](https://github.com/Palakis/obs-websocket/discussions/769)
- The planned requests sheet is available [here](https://docs.google.com/spreadsheets/d/1LfCZrbT8e7cSaKo_TuPDd-CJiptL7RSuo8iE63vMmMs/edit)
- The planned events sheet is available [here](https://docs.google.com/spreadsheets/d/1XPVDRFwC2DNAnIBo8zKyxjG_Cnun04M4w5RwE0-JHG8/edit)
- To aid developers, I've updated simpleobsws (a client library I maintain) for the latest 5.0.0 protocol spec. This should help with testing and as an implementation example. See the branch [here](https://github.com/IRLToolkit/simpleobsws/tree/master)

Page 1 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.