obs-websocket - Remote-control OBS Studio using WebSockets

obs-websocket - Remote-control OBS Studio using WebSockets 5.0.1

Palakis

Developer
Palakis submitted a new resource:

Websocket plugin - Remote-control your OBS Studio with Websockets

A Websocket API for OBS Studio. The websocket server runs on port 4444 and the protocol is based on the OBSRemote protocol (including authentication) with some additions specific to OBS Studio.

This is an alpha release, so things might break (this plugin or your OBS). Also, some methods are not implemented.
Please be careful and test it before using it for real !

How to install :
Copy the contents of the .zip archive to the root of your OBS Studio installation folder....

Read more about this resource...
 

SK115

New Member
This is absolutely fantastic. I had been waiting for someone to add this into Studio for a while now (I know nothing about C/C++). I'm hoping to update the OBS Remote JS API (that was made for the AGDQ NodeCG system) to meet this protocol spec, I've forked it and will be working on the basics of it this week and next. Some of it works already simply by taking out the "obsapi" sub-protocol parameter from the connection, but a lot of it's functionality needs updated/added/removed.

Here's the original:
https://github.com/nodecg/obs-remote-js

Here's my fork (currently identical):
https://github.com/sk115/obs-studio-remote-js
 

haganbmj

New Member
This is absolutely fantastic. I had been waiting for someone to add this into Studio for a while now (I know nothing about C/C++). I'm hoping to update the OBS Remote JS API (that was made for the AGDQ NodeCG system) to meet this protocol spec, I've forked it and will be working on the basics of it this week and next. Some of it works already simply by taking out the "obsapi" sub-protocol parameter from the connection, but a lot of it's functionality needs updated/added/removed.

Here's the original:
https://github.com/nodecg/obs-remote-js

Here's my fork (currently identical):
https://github.com/sk115/obs-studio-remote-js

There are a number of differences between the old protocol and the new one. Mostly a lack of some methods and a change in the (lack) a websocket protocol. I wound up creaking my own repo to account for all this, as I figured it was easier to just start fresh and go from there.
https://github.com/haganbmj/obs-websocket-js

I'll likely have a public repo up for a new OBSRemote style website on top of this soon.
 

RADRaze2KX

Member
Subscribed, guys. Been waiting for this for almost a year. Will any of you be creating an Android APK as an interface, similiar to the one for the OBSRemote Classic plugin? If so, I can test it across multiple devices (LG Leon, Samsung Note 4, Google Pixel, Samsung On5, Samsung Galaxy S7, LG G Pad X, HTC Evo 3D). Would love to help get this project out of Alpha stage! :)
 

Palakis

Developer
Palakis updated Websocket server with a new update entry:

obs-websocket - Websocket server for OBS Studio

obs-websocket 0.3.1 is out ! This new version includes numerous bugfixes and can be considered as the first stable release of obs-websocket !
However, some request types are still missing but are planned for future releases.

Install instructions (Windows)
Copy the contents of the archive to the root of your OBS Studio installation folder.

Usage instructions
See README.md on the GitHub repository.

Read the rest of this update entry...
 

Palakis

Developer
Can i ask what is this for?
It's like what the OBSRemote plugin does for legacy OBS.
obs-websocket adds a websocket server to OBS Studio, which allows it to be remote-controlled by another user, smartphone or application on the same LAN.

However, whereas OBSRemote has an Android app and an HTML5 frontend, obs-websocket currently has no frontend or app, but the protocol is documented and some client libraries for developers progressively pop up on the Internet.
 
Last edited:

RADRaze2KX

Member
Excellent work t2t2!

Tested your remote interface in:
Chrome for Windows [working, no issues] (w/ localhost)
Firefox for Windows [working, no issues] (w/ localhost)
Internet Explorer & Edge [Working, does not pay attention to automatic login URL, always directs to "Usage Instructions" page w/ "localhost" in Host name] (w/ localhost)

Also tested in:
Chrome for Android [working, doesn't utilize automatic login URL, same as IE/Edge]
Free Adblock Browser for Android [working, doesn't utilize automatic login URL, same as IE/Edge]

Should be noted that once typing in the host when landing on the automatic login URL "usage instructions" page, the Password box seems to contain the password in the Automatic URL and works fine. Have tried converting the '.' (period) in the automatic URL "host="{}" area to '%2E' with no change.

LOVE the idea that the URL changes the connection info, I have 5 streaming computers that I'd like to use remote on and being able to open a specific browser URL for it on my smartphone will be amazing! Keep up the great work!

Edit: Updated GitHub/Issues
 
Last edited:

Gumby8888

New Member
Just want say thanks to Palakis and t2t2 for making this, it works great for me. This was my big reservation to moving from Classic to Studio, now that I can obs remote I can move to Studio. Nice work.
 

lorec

New Member
What do you mean? Are you wondering if it's possible to use this plugin to change stream profiles?

Yes. Because Facebook Live will require a new key for every new stream. So is it possible to set this through the plugin?
 

RADRaze2KX

Member
The plugin only interacts with OBS Studio, you still need to acquire a fresh key from Facebook every time you want to stream to Facebook. I've been looking for a workaround to that myself to no avail.
 

lorec

New Member
It's OK having to get the key from Facebook every time, but is it possible to add the key to OBS Studio through the plugin?
 

Palakis

Developer
Yes. Because Facebook Live will require a new key for every new stream. So is it possible to set this through the plugin?
I use Switchboard/Joicaster in one of my OBS setups. Configure your OBS once with the credentials given to you by the service and link the Facebook pages or profiles you want to stream to.
 

Palakis

Developer
Palakis updated obs-websocket - Websocket API for OBS Studio with a new update entry:

obs-websocket 0.3.2

Changes since 0.3.1
- Fixed a bug where the scene name is not reported correctly on a scene change event in Studio mode

Install instructions (Windows)
- Using the installer (recommended) : download it, launch it and follow the instructions.
- Using the .zip archive : copy the contents of the archive to the root of your OBS Studio installation folder.

Usage instructions
See README.md.

Read the rest of this update entry...
 

RytoEX

Forum Admin
Forum Moderator
Developer
I use Switchboard/Joicaster in one of my OBS setups. Configure your OBS once with the credentials given to you by the service and link the Facebook pages or profiles you want to stream to.
According to Facebook's current documentation, the Stream URL and Key are valid for 7 days. Once you preview the video (start the stream in OBS and preview on their end), you have up to 5 hours to go live.

If you close the Facebook Live dialog and open a new one, your old stream key will still "work" in this time period, but you will not be able to preview it in their dialog, so you will not be able to actually go live (Facebook requires you to preview the stream and indicate that you're going live by clicking a button on their system before actually going live). I'm having trouble finding info on how Switchboard/Joicaster relate to this problem. Could you elaborate a bit on how you would set up OBS once for Facebook Live?
 

Palakis

Developer
According to Facebook's current documentation, the Stream URL and Key are valid for 7 days. Once you preview the video (start the stream in OBS and preview on their end), you have up to 5 hours to go live.

If you close the Facebook Live dialog and open a new one, your old stream key will still "work" in this time period, but you will not be able to preview it in their dialog, so you will not be able to actually go live (Facebook requires you to preview the stream and indicate that you're going live by clicking a button on their system before actually going live). I'm having trouble finding info on how Switchboard/Joicaster relate to this problem. Could you elaborate a bit on how you would set up OBS once for Facebook Live?

Joicaster/Switchboard is an RTMP relay service similar to Restream.io. They give you an RTMP server URL and stream key of its own server infrastructure so they can give their users credentials that never change (except when asked specifically by the user). You send them an RTMP stream, configure the stream destinations (Facebook, Youtube, etc ...), and Joicaster/Switchboard takes care of the rest.
 
Top