2021-03-08 11:56:43 +00:00
# obs-websocket
< p align = "center" >
< img src = "/.github/images/obsws_logo.png" width = 150 align = "center" >
< / p >
2021-11-20 21:42:55 +00:00
WebSocket API for OBS Studio.
2021-03-08 11:56:43 +00:00
2021-11-20 01:23:04 +00:00
[![CI Multiplatform Build ](https://github.com/obsproject/obs-websocket/actions/workflows/main.yml/badge.svg?branch=master )](https://github.com/obs-websocket/obs-websocket/actions/workflows/main.yml)
2021-03-08 11:56:43 +00:00
[![Discord ](https://img.shields.io/discord/715691013825364120.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2 )](https://discord.gg/WBaSQ3A)
2021-11-21 10:10:41 +00:00
[![Financial Contributors on Open Collective ](https://opencollective.com/obs-websocket-dev/all/badge.svg?label=financial+contributors )](https://opencollective.com/obs-websocket-dev)
2021-03-08 11:56:43 +00:00
## Downloads
2021-11-20 01:23:04 +00:00
Binaries for Windows, MacOS, and Linux are available in the [Releases ](https://github.com/obsproject/obs-websocket/releases ) section.
2021-03-08 11:56:43 +00:00
## 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.
2021-07-24 09:57:46 +00:00
(Psst. You can use `--websocket_port` (value), `--websocket_password` (value), and `--websocket_debug` (flag) on the command line to override the configured values.)
2021-04-28 22:59:29 +00:00
2021-03-08 11:56:43 +00:00
### 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, ...)
2021-11-21 10:10:41 +00:00
### Client software
- (No known clients supporting 5.0.0 at the moment. Send a message in Discord if you have one!)
2021-03-08 11:56:43 +00:00
2021-11-21 10:10:41 +00:00
### Client libraries (for developers)
2021-03-08 11:56:43 +00:00
2021-11-21 10:10:41 +00:00
Here's a list of available language APIs for obs-websocket:
2021-09-10 08:37:59 +00:00
- Python 3.7+ (Asyncio): [simpleobsws ](https://github.com/IRLToolkit/simpleobsws/tree/master ) by IRLToolkit
2021-09-28 14:34:30 +00:00
- Rust: [obws ](https://github.com/dnaka91/obws/tree/v5-api ) by dnaka91
2021-03-08 11:56:43 +00:00
2021-11-21 10:10:41 +00:00
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 ](docs/generated/protocol.md ).
2021-03-08 11:56:43 +00:00
2021-11-21 10:10:41 +00:00
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! ](https://discord.gg/WBaSQ3A )
2021-03-08 11:56:43 +00:00
## Contributors
### Code Contributors
2021-11-21 10:10:41 +00:00
This project exists thanks to [all the people ](graphs/contributors ) who contribute. [Contribute ](wiki/Contributing-Guidelines ).
< a href = "https://github.com/obsproject/obs-websocket/graphs/contributors" > < img src = "https://opencollective.com/obs-websocket-dev/contributors.svg?width=890&button=false" / > < / a >
2021-03-08 11:56:43 +00:00
### Financial Contributors
2021-11-21 10:10:41 +00:00
Become a financial contributor and help us sustain our community. [Contribute ](https://opencollective.com/obs-websocket-dev/contribute )
2021-03-08 11:56:43 +00:00
#### Individuals
2021-11-21 10:10:41 +00:00
< a href = "https://opencollective.com/obs-websocket-dev" > < img src = "https://opencollective.com/obs-websocket-dev/individuals.svg?width=890" > < / a >
2021-03-08 11:56:43 +00:00
#### Organizations
2021-11-21 10:10:41 +00:00
Support this project with your organization. Your logo will show up here with a link to your website. [Contribute ](https://opencollective.com/obs-websocket-dev/contribute )
< a href = "https://opencollective.com/obs-websocket-dev/organization/0/website" > < img src = "https://opencollective.com/obs-websocket-dev/organization/0/avatar.svg" > < / a >
< a href = "https://opencollective.com/obs-websocket-dev/organization/1/website" > < img src = "https://opencollective.com/obs-websocket-dev/organization/1/avatar.svg" > < / a >
< a href = "https://opencollective.com/obs-websocket-dev/organization/2/website" > < img src = "https://opencollective.com/obs-websocket-dev/organization/2/avatar.svg" > < / a >
< a href = "https://opencollective.com/obs-websocket-dev/organization/3/website" > < img src = "https://opencollective.com/obs-websocket-dev/organization/3/avatar.svg" > < / a >
< a href = "https://opencollective.com/obs-websocket-dev/organization/4/website" > < img src = "https://opencollective.com/obs-websocket-dev/organization/4/avatar.svg" > < / a >
< a href = "https://opencollective.com/obs-websocket-dev/organization/5/website" > < img src = "https://opencollective.com/obs-websocket-dev/organization/5/avatar.svg" > < / a >
< a href = "https://opencollective.com/obs-websocket-dev/organization/6/website" > < img src = "https://opencollective.com/obs-websocket-dev/organization/6/avatar.svg" > < / a >
< a href = "https://opencollective.com/obs-websocket-dev/organization/7/website" > < img src = "https://opencollective.com/obs-websocket-dev/organization/7/avatar.svg" > < / a >
< a href = "https://opencollective.com/obs-websocket-dev/organization/8/website" > < img src = "https://opencollective.com/obs-websocket-dev/organization/8/avatar.svg" > < / a >
< a href = "https://opencollective.com/obs-websocket-dev/organization/9/website" > < img src = "https://opencollective.com/obs-websocket-dev/organization/9/avatar.svg" > < / a >