obs-websocket - Remote-control OBS Studio using WebSockets

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

Eliott V. A.

New Member
Hi Palakis,
I just install your plugin and making it works but I can't receive the broadcasted event, Do I need something to activate it ? I make the plugin work without authentification just for you to know.
 

Eliott V. A.

New Member
Ok I tried something and it works, and I understand but:
There is no event when I'm Switching the preview when i'm on studio mode, only the PGM, can you make it works for the preview to ?
 

HashBrownJM

New Member
I don't know if this is the right place to post this, but for those of you using Android devices, the obs-websocket plugin ABSOLUTELY works the the OBS Remote app by Bill Hamilton.

https://play.google.com/store/apps/details?id=com.bilhamil.obsremote&hl=en

You just need to find your IP using cmd prompt, ipconfig, and you're good to go. I've been using it for a while now and just want folks to know there's options, especially since when I use the Chrome scene changer, it never seems to connect when I'm on my iPad. (Works on the localhost and using OBS Remote app on my Shield Tablet, though.)

Just wanted to inform!
 

Tony Morelli

New Member
I saw a post earlier in this thread that described the same thing I am running into but I never saw the solution. The issue I am having is that certain commands are not being found. I am using obs-websocket-py to communicate. Certain commands work like GetVersion and GetScenes, but things like StartRecording do not. Here is some output

<StartRecording request ({}) called: failed ({u'error': u'invalid request type'})>
<GetVersion request ({}) called: success ({u'obs-studio-version': u'19.0.3', u'version': 1.1, u'obs-websocket-version': u'4.0.0'})>

Does anyone have any suggestions? Thanks!

On a further look - StartStopRecording does toggle the recording state, but calling StartRecording or StopRecording directly returns invalid request type
 
Last edited:
I saw a post earlier in this thread that described the same thing I am running into but I never saw the solution. The issue I am having is that certain commands are not being found. I am using obs-websocket-py to communicate. Certain commands work like GetVersion and GetScenes, but things like StartRecording do not. Here is some output

<StartRecording request ({}) called: failed ({u'error': u'invalid request type'})>
<GetVersion request ({}) called: success ({u'obs-studio-version': u'19.0.3', u'version': 1.1, u'obs-websocket-version': u'4.0.0'})>

Does anyone have any suggestions? Thanks!

On a further look - StartStopRecording does toggle the recording state, but calling StartRecording or StopRecording directly returns invalid request type

Hi Tony,
Encountered the same overhere and am using the Toggle state
I made a remote control program in Qt C++ and use the Toggle state:
ws.sendTextMessage("{\"request-type\":\"StartStopRecording\",\"message-id\":\"ToggleRecord\"}");

Following is a capture of my debug trace:

::on_btnRecord_clicked().
::onReceived: {
"update-type": "RecordingStarting"
}

::onReceived: {
"rec-timecode": "00:00:00.000",
"update-type": "RecordingStarted"
}

::onReceived: {
"message-id": "ToggleRecord",
"status": "ok"
}

::on_btnRecord_clicked().
::onReceived: {
"rec-timecode": "00:00:03.397",
"update-type": "RecordingStopping"
}

::onReceived: {
"message-id": "ToggleRecord",
"status": "ok"
}

::onReceived: {
"update-type": "RecordingStopped"
}

Would be nice during recording also to receive intermediate updates if recording if in progress and how long and how big the file size is. Similar like during streaming.

Cheers,
EvertK.
 
Hi Palakis,

I have downloaded the code and made an "Heartbeat" update-type.
It generates every 2 seconds:
{
"current-profile": "#00-Amy-Profile",
"current-scene": "#00-AmyTest",
"pulse": false,
"recording": true,
"streaming": true,
"total-record-time": 20,
"total-stream-time": 5,
"update-type": "Heartbeat"
}

"pulse" change state every JSON message from false to true and vice versa.

Started with this as I was missing an recording time, if streaming is not active. In our multi purpose building (churches/events) we also do recordings without streaming.
It would be nice if you could include this in your code, so it is available to the world, and I do not need to maintain a separate branch.

Attached are the sources files I changed. (simple for you;-))
The changes are clearly marked with "//mod...".

Looking forward for your response.

Regards,
Evert Krooneman
 

Attachments

  • WSEvents.zip
    5.3 KB · Views: 190

Stavros

New Member
Dear Palakis,

thank you for the effort on this plugin. I would like to ask for an example of how to use it with VB .NET
The obs-websocket-dotnet-1.0.2-alpha\TestClient compiles and works fine, but trying to translate it to VB.NET gives me errors like:

'OnSceneChange' is not an event of 'OBSWebsocket'

Thank you in advance,

Stavros
 

illusdidi

New Member
Hi,
I have a question about the GNU GPL license. Maybe a dumb question but I'm not sure. If I make an application using obs-websocket, does it have to be licensed GNU GPL too ?
 

dodgepong

Administrator
Community Helper
To be clear, if you make an application that communicates with OBS via websockets using obs-websocket, then that is correct, it does not need to be GPL. However, if you doing development with the source code of obs-websocket itself and compile it such that it links against OBS, then it does fall under the GPL2. If you're not modifying source code of OBS or obs-websocket, then you're fine.
 

Johan Blome

New Member
Is there compatibility problem between versions? I can not connect today and I remember that I had it working some time ago. When I check I have version 4.1.0 and the plugin (and the stable version is 4.0.0).
What kind of errors can I look for?
...
warning: Failed to load 'en-US' text for module: 'obs-websocket.so'
info: [obs-websocket] you can haz websockets (version 4.1.0)
info: [obs-websocket] module loaded!
...
 

Palakis

Developer
Palakis updated obs-websocket - Remote control of OBS Studio made easy with a new update entry:

obs-websocket 4.2.0 (a.k.a "It's About Time")

At last! obs-websocket 4.2.0 is out after such a long wait!
There are too many new features and changes to list, so the best thing to do is go straight to the release page on GitHub for a detailed changelog and installation instructions.

I'd like to give many thanks to people who have contributed code and testing, as well as Support Class and...

Read the rest of this update entry...
 

Fonduede

New Member
Hi there! I updated from OBS Classic to OBS Studio recently, and am trying to get this to work like Remote used to, but it doesn't seem to be working quite right.

I have a group of commands set up in Deepbot to toggle sources on and off in order to make a facecam open or close. I installed the websocket, set up the password, and then went into the master settings of Deepbot and connected to Deepbot, as per the instructions. I get a notification of a new Websocket connection. I then set up my commands for my new OBS, just as I had them before. The only difference is, now, the commands that I run in Deepbot don't enable or disable my OBS sources at all.

The scenes are named exactly as they are in the command. I am using the OBS Remote section to enable or disable sources in Deepbot. They functioned perfectly with OBS classic, but this just doesn't work at all.

I even set up a new, simple command to toggle off a brand new source I set up with the express purpose of testing the plugin, just to see if it works. It isn't responding to Deepbot at all.

EDIT: I've discovered all my commands work, but only if I turn off authentication. I have confirmed that both passwords I have inputted are exactly the same.
 
Last edited:

hoerich

New Member
I love this plugin! Works really great!

It would be awesome if it would be possible to start/stop streaming with it.

We want to use OBS-Studio with your plug-in at the studio of our community radio station.
We got an endless youtube-livestream running and it would be awesome if the users could connect/disconnect remotely (they don't have access to streaming pc).

however, good work!
 

dodgepong

Administrator
Community Helper
This plugin already does allow starting and stopping streaming via websockets. You just need to have an application that makes use of those commands. For example, Stream Copilot can remotely control start/stop.
 

Marstead

New Member
Hello,

I recently updated OBS Studio and I'm starting to get this error message when I boot up OBS Studio. Any idea what I can do to fix it? Googling has been unhelpful, and I've tried removing/reinstalling the plugin a few time sot no avail.

upload_2018-1-10_7-6-11.png
 

Marstead

New Member
Hello,

I recently updated OBS Studio and I'm starting to get this error message when I boot up OBS Studio. Any idea what I can do to fix it? Googling has been unhelpful, and I've tried removing/reinstalling the plugin a few time sot no avail.

View attachment 33169

To help anyone searching for my same error, the error text was:

"The procedure entry point obs_frontend_save_streaming_service could not be located in the dynamic link library C:\Program Files (x86)\obs-studio\obs-plugins\64bit\obs-websocket.dll."

I was able to make the error message go away by rolling back to version 4.0 from version 4.2.0. However, now the plugin won't connect to the app I am using (DeepBot), so I assume I still need to get it fixed for 4.2.0. Did anything change from 4.0 -> 4.2.0 to cause this error in Windows 10?
 
Last edited:
Top