* Added a Heartbeat in WSEvents (.cpp and .h updated) Lines where the coded is added are marked with "//mod-0x =============" (x denotes a number). * Updated the Heartbeat: - Default it is off, and via JSON request can be switched on. - The Heartbeat has configurable elements. Each individual element can be requested via a JSON request to be added to the Heartbeat. - Maximum elements are in this example JSON update: { "current-profile": "#2-PGH", "current-scene": "#2-HG", "pulse": true, "recording": false, "streaming": false, "total-record-time": 0, "total-stream-time": 0, "update-type": "Heartbeat" } * Cleaning * Process all Palakis his comment/advice, and added 3 key/value pairs. * Processed cleaning up comments as proposed by Stephane. * Still found tabs in the comment header, and replaced by spaces. * FUNCTIONAL MODIFICATION: - Removed selective content of Heartbeat, and show all key/value parameters. - Only request left is "on" or "off" selection of heartbeat. FIX: - Show streaming/recording related data only when streaming/recording is active, due to OBS showing wrong values when not active. * Changed request type to start the Heartbeat to a boolean parameter. * Delete ZERO_CHECK.log * Delete obs-websocket_autogen.log * Delete obs-websocket.log
obs-websocket
Remote control of OBS Studio made easy.
Follow the project on Twitter for news & updates : @obswebsocket
Downloads
Binaries for Windows and Linux are available in the Releases section.
Using obs-websocket
A web client and frontend made by t2t2 (compatible with tablets and other touch interfaces) is available here : http://t2t2.github.io/obs-tablet-remote/
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 (like the AGDQ overlay does)
- 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
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 me an email at contact at slepin dot fr
!
Compiling obs-websocket
See the build instructions.
Translations
We need your help on translations. Please join the localization project on Crowdin: https://crowdin.com/project/obs-websocket
Special thanks
In order of appearance:
- Brendan H. : Code contributions and gooder English in the Protocol specification
- Mikhail Swift : Code contributions
- Tobias Frahmer : German translation
- Genture : Simplified Chinese and Traditional Chinese translations
- Larissa Gabilan : Portuguese translation
- Andy Asquelt : Polish translation
- Marcel Haazen : Dutch translation
- Peter Antonvich : Code contributions
- yinzara : Code contributions
- Chris Angelico : Code contributions
- Guillaume "Elektordi" Genty : Code contributions
- Marwin M : Code contributions
And also: special thanks to supporters of the project!
Supporters
They 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.