WebSocket API for OBS Studio.
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.
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.)
- 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, ...)
Here's a list of available language APIs for obs-websocket:
- Python 3.7+ (Asyncio): simpleobsws by IRLToolkit
- Rust: obws by dnaka91
- Godot 3.4.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
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!
This project exists thanks to all the people who contribute. Contribute.
Become a financial contributor and help us sustain our community. Contribute
Support this project with your organization. Your logo will show up here with a link to your website. Contribute