tt2468 d48ddef031 EventHandler: Implement InputVolumeMeters
This is probably one of the most requested features for obs-websocket.
This currently works by firing an event to all explicit subscribers
with an array of all active audio sources every **60 milliseconds.**

The `inputLevelsMul` field follows this data format:

Base: [Channel, Channel]
Channel: [magnitude (mul), peak (mul), input_peak (mul)]

           *Not Muted*         *Muted*
Example: [[0.3, 0.5, 0.9], [0.0, 0.0, 0.0]]

(input_peak is the actual peak value, before volume adjustment.)

You may notice that the values are only in mul. This is because we are
trying to cut down on bandwidth. dB values can be calculated using this
formula:

`dB = 20.0 * log10(mul)`
2021-11-22 03:37:56 -08:00
2021-11-21 02:10:41 -08:00
2021-11-21 02:10:41 -08:00
2021-03-08 03:56:43 -08:00
2021-11-21 02:10:41 -08:00

obs-websocket

WebSocket API for OBS Studio.

CI Multiplatform Build Discord Financial Contributors on Open Collective

Downloads

Binaries for Windows, MacOS, and Linux are available in the Releases section.

Using obs-websocket

It is highly recommended to protect obs-websocket with a password against unauthorized control. To do this, open the "Websocket server settings" dialog under OBS' "Tools" menu. In the settings dialogs, you can enable or disable authentication and set a password for it.

(Psst. You can use --websocket_port(value), --websocket_password(value), and --websocket_debug(flag) on the command line to override the configured values.)

Possible use cases

  • Remote control OBS from a phone or tablet on the same local network
  • Change your stream overlay/graphics based on the current scene
  • Automate scene switching with a third-party program (e.g. : auto-pilot, foot pedal, ...)

Client software

  • (No known clients supporting 5.0.0 at the moment. Send a message in Discord if you have one!)

Client libraries (for developers)

Here's a list of available language APIs for obs-websocket:

The server is a typical Websockets server running by default on port 4444 (the port number can be changed in the Settings dialog under Tools). The protocol we use is documented in PROTOCOL.md.

We'd like to know what you're building with or for obs-websocket. If you do something in this fashion, feel free to drop a message in #project-showoff in the discord server!

Contributors

Code Contributors

This project exists thanks to all the people who contribute. Contribute.

Financial Contributors

Become a financial contributor and help us sustain our community. Contribute

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website. Contribute

Description
No description provided
Readme 65 MiB
Languages
C++ 94.7%
C 2.6%
CMake 2.5%
Shell 0.2%