Awesome
<!-- markdownlint-disable no-inline-html -->obs-websocket
<p align="center"> <img src="/.github/images/obsws_logo.png" width=150 align="center"> </p>WebSocket API for OBS Studio.
Downloads
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 section.
Using obs-websocket
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.
(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.)
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
- Macro Deck
- Touch Portal
- Twitchat
- OBS-web - hosted client at obs-web.niek.tv/
- Streamer.bot
- Deckboard
- OBS Blade
- Aitum
- Kruiz Control
- Bitfocus Companion Module
- MacroGraph - hosted client here
- MATRIC
Client libraries (for developers)
Here's a list of available language APIs for obs-websocket:
- Python 3.7+ (Asyncio): simpleobsws by IRLToolkit
- Python 3.10+ (Non-Asyncio): obsws-python by aatikturk and onyx-and-iris
- Rust: obws by dnaka91
- Godot 4.0.x: obs-websocket-gd by you-win
- Javascript (Node and web): obs-websocket-js by OBS Websocket Community
- C (uses obs-websocket-js): v8-libwebsocket-obs-websocket
- Go: goobs by andreykaipov
- Dart/Flutter (can target all supported platforms): obs_websocket by faithoflifedev
- Java: obs-websocket-java by OBS Websocket Community
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
).
The protocol we use is documented in PROTOCOL.md.
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!
Contributors
Code Contributors
This project exists thanks to all the people who contribute. Contribute Code.
Financial Contributors
Become a financial contributor and help us sustain our community. Contribute Financially
Individuals
<a href="https://opencollective.com/obs-websocket-dev"><img src="https://opencollective.com/obs-websocket-dev/individuals.svg?width=890"></a>
Organizations
Support this project with your organization. Your logo will show up here with a link to your website. 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>