2021-12-17 07:21:07 +00:00
<!-- markdownlint - disable no - inline - html -->
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
[![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
2022-05-14 03:23:03 +00:00
obs-websocket is now included by default with OBS Studio 28.0.0 and above. As such, **there should be no need to download obs-websocket if you have OBS Studio > 28.0.0.**
Binaries **for OBS Studio < 28.0.0** on 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
2022-05-14 03:23:03 +00:00
It is **highly recommended** to keep obs-websocket protected with a password against unauthorized control. obs-websocket generates a password for you automatically when you load it for the first time. To change this, open the "obs-websocket Settings" dialog under OBS' "Tools" menu. In the settings dialog, you can enable or disable authentication and set a password for it.
2021-03-08 11:56:43 +00:00
2022-03-12 13:56:15 +00:00
(Psst. You can use `--websocket_port` (value), `--websocket_password` (value), `--websocket_debug` (flag) and `--websocket_ipv4_only` (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
2021-12-17 07:21:07 +00:00
2022-07-03 18:29:06 +00:00
- [Touch Portal ](https://www.touch-portal.com/ )
2022-07-03 19:10:24 +00:00
- [Twitchat ](https://twitchat.fr/ )
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-12-17 07:21:07 +00:00
2021-09-10 08:37:59 +00:00
- Python 3.7+ (Asyncio): [simpleobsws ](https://github.com/IRLToolkit/simpleobsws/tree/master ) by IRLToolkit
2022-08-10 18:02:59 +00:00
- Rust: [obws ](https://github.com/dnaka91/obws ) by dnaka91
2022-02-24 00:20:07 +00:00
- Godot 3.4.x: [obs-websocket-gd ](https://github.com/you-win/obs-websocket-gd ) by you-win
2022-03-22 18:16:48 +00:00
- Javascript (Node and web): [obs-websocket-js ](https://github.com/obs-websocket-community-projects/obs-websocket-js ) by OBS Websocket Community
2022-07-25 15:10:49 +00:00
- C (uses obs-websocket-js): [v8-libwebsocket-obs-websocket ](https://github.com/dgatwood/v8-libwebsocket-obs-websocket )
2022-08-13 05:14:27 +00:00
- Go: [goobs ](https://github.com/andreykaipov/goobs ) by andreykaipov
2022-08-24 08:43:39 +00:00
- Dart/Flutter (can target all supported platforms): [obs_websocket ](https://github.com/faithoflifedev/obs_websocket ) by faithoflifedev
2021-03-08 11:56:43 +00:00
2022-01-28 23:38:08 +00:00
The 5.x server is a typical WebSocket server running by default on port 4455 (the port number can be changed in the Settings dialog under `Tools` ).
2021-11-21 10:10:41 +00:00
The protocol we use is documented in [PROTOCOL.md ](docs/generated/protocol.md ).
2021-03-08 11:56:43 +00:00
2022-01-28 23:38:08 +00:00
We'd like to know what you're building with 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 >