.github | ||
CI | ||
data/locale | ||
deps | ||
docs | ||
external | ||
installer | ||
src | ||
.editorconfig | ||
.gitignore | ||
.gitmodules | ||
azure-pipelines.yml | ||
BUILDING.md | ||
CMakeLists.txt | ||
CONTRIBUTING.md | ||
crowdin.yml | ||
LICENSE | ||
README.md | ||
SSL-TUNNELLING.md |
obs-websocket
WebSockets API for OBS Studio.
Downloads
Binaries for Windows, MacOS, and Linux are available in the Releases section.
Homebrew
If you're using MacOS you can use Homebrew for installation as well:
brew install obs-websocket
Using obs-websocket
Here is a list of available web clients: (compatible with tablets and other touch interfaces)
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.
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, ...)
For developers
The server is a typical Websockets server running by default on port 4444 (the port number can be changed in the Settings dialog). The protocol understood by the server is documented in PROTOCOL.md.
Here's a list of available language APIs for obs-websocket :
- Javascript (browser & nodejs): obs-websocket-js by Brendan Hagan
- C#/VB.NET: obs-websocket-dotnet
- Python 2 and 3: obs-websocket-py by Guillaume Genty a.k.a Elektordi
- Python 3.5+ with asyncio: obs-ws-rc by Kirill Mysnik
- Python 3.6+ with asyncio: simpleobsws by tt2468
- Java 8+: obs-websocket-java by TwasiNET
- Java 11+: obs-java-client by harm27
- Golang: go-obs-websocket by Chris de Graaf
- Rust: obws by dnaka91
- HTTP API: obs-websocket-http by tt2468
- CLI: obs-cli by leafac
I'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!
Securing obs-websocket (via TLS/SSL)
If you are intending to use obs-websocket outside of a LAN environment, it is highly recommended to secure the connection using a tunneling service.
See the SSL tunnelling guide for easy instructions on how to encrypt your websocket connection.
Compiling obs-websocket
See the build instructions.
Contributing
Translations
Your help is welcome on translations.
Please join the localization project on Crowdin
Special thanks
Thank you so much to all of the contibutors (here) for your amazing help.
And also: special thanks to supporters of the project!
Supporters
These supporters have contributed financially to the project and made possible the addition of several features into obs-websocket. Many thanks to them!
Support Class designs and develops professional livestreams, with services ranging from broadcast graphics design and integration to event organization, along many other skills.
MediaUnit is a Norwegian media company developing products and services for the media industry, primarly focused on web and events.
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]