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



## Palakis (Nov 19, 2016)

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 !
> ...



Read more about this resource...


----------



## SK115 (Nov 21, 2016)

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 (Nov 24, 2016)

SK115 said:


> 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
> ...



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 (Nov 29, 2016)

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 (Nov 30, 2016)

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)*
> ...



Read the rest of this update entry...


----------



## Bazim (Dec 3, 2016)

Can i ask what is this for?


----------



## Palakis (Dec 4, 2016)

Bazim said:


> 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.


----------



## t2t2 (Dec 4, 2016)

Updated my remote interface to support this plugin - http://t2t2.github.io/obs-tablet-remote/

It's optimised for tablet use, but works on anything that has a web browser


----------



## RADRaze2KX (Dec 5, 2016)

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


----------



## lorec (Dec 7, 2016)

Is it possible to use this to set the stream to Facebook Live?


----------



## Gumby8888 (Dec 7, 2016)

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.


----------



## dodgepong (Dec 8, 2016)

lorec said:


> Is it possible to use this to set the stream to Facebook Live?


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


----------



## lorec (Dec 8, 2016)

dodgepong said:


> 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 (Dec 9, 2016)

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 (Dec 9, 2016)

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 (Dec 10, 2016)

lorec said:


> 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 (Dec 10, 2016)

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)*
> ...



Read the rest of this update entry...


----------



## RytoEX (Dec 10, 2016)

Palakis said:


> 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?


----------



## Kymps (Dec 11, 2016)

@Palakis Thank you so much for this, been looking for something like this for ages!


----------



## Palakis (Dec 11, 2016)

RytoEX said:


> 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.


----------



## Palakis (Dec 11, 2016)

RytoEX said:


> 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?



Another thing to mention is that the Facebook Live stream are created through the Facebook API. You only have to link your Facebook profile and select the pages Joicaster/Switchboard can access and it creates the live event automatically when you click on "Start Broadcast".


----------



## RytoEX (Dec 12, 2016)

Okay, so that explains Switchboard/Joicaster (their public documentation seemed very sparse).  Thank you for that.

However, that works _if_ you use Switchboard/Joicaster in your workflow.  What if you were just using OBS itself with no RTMP relay or restreaming services?  Can you use this plugin to update the stream key for Facebook Live (or any other service OBS supports)?  I think that scenario (only OBS and this plugin) is more in line with @lorec's question, though they are free to correct me.


----------



## Palakis (Dec 12, 2016)

RytoEX said:


> What if you were just using OBS itself with no RTMP relay or restreaming services?  Can you use this plugin to update the stream key for Facebook Live (or any other service OBS supports)?  I think that scenario (only OBS and this plugin) is more in line with @lorec's question, though they are free to correct me.



I think it is what @lorec meant. Never thought of it, but this seems like a good idea to implement as a feature in coming releases.


----------



## lorec (Dec 12, 2016)

Palakis said:


> I think it is what @lorec meant. Never thought of it, but this seems like a good idea to implement as a feature in coming releases.



Indeed. Because I want to create a frontend that lets users set up a Facebook stream, without having to deal with OBS or Facebook.


----------



## asq (Dec 16, 2016)

does anybody have a plan to build macos version?
or already has a binary?

i'd like to avoid setting compiler if possible :)


----------



## asq (Dec 18, 2016)

i decided to try it myself, but after 1.5h of fiddling get into this:

```
[ 79%] Automatic moc and uic for target obs-websocket
[ 79%] Built target obs-websocket_automoc
[ 79%] Automatic moc and uic for target mbedcrypto
[ 79%] Built target mbedcrypto_automoc
[ 97%] Built target mbedcrypto
[ 97%] Building CXX object plugins/obs-websocket/CMakeFiles/obs-websocket.dir/obs-websocket.cpp.o
In file included from ~/obs-studio/plugins/obs-websocket/obs-websocket.cpp:26:
~/obs-studio/plugins/obs-websocket/Config.h:23:10: fatal error: 'mbedtls/entropy.h' file not found
#include <mbedtls/entropy.h>
         ^
1 error generated.
make[2]: *** [plugins/obs-websocket/CMakeFiles/obs-websocket.dir/obs-websocket.cpp.o] Error 1
make[1]: *** [plugins/obs-websocket/CMakeFiles/obs-websocket.dir/all] Error 2
make: *** [all] Error 2
```

referenced header file is there, inside of deps/mbedtls, so i have no idea why it complains.

```
find ../plugins/obs-websocket/ -name entropy.h
../plugins/obs-websocket//deps/mbedtls/include/mbedtls/entropy.h
```

command to build was:

```
mkdir build && cd build
echo "add_subdirectory(obs-websocket)" >> ../plugins/CMakeLists.txt
git clone --recursive https://github.com/Palakis/obs-websocket.git ../plugins/obs-websocket
cmake .. -DCMAKE_PREFIX_PATH=$(brew --prefix qt5) -DQt5WebSockets_DIR=$(brew --prefix qt5)/lib/cmake/Qt5WebSockets -DCMAKE_MODULE_PATH=$(brew --prefix qt5)/lib/cmake/ -DLIBOBS_INCLUDE_DIR=~/obs-studio/libobs -DLIBOBS_LIB=~/obs-studio/libobs  && make
```


----------



## NicOnAcid (Dec 19, 2016)

Works fine with this Android App > https://play.google.com/store/apps/details?id=com.bilhamil.obsremote&hl=de
I use it only for switching the Scenes! 

Great Work!


----------



## Tim0n (Dec 19, 2016)

Hello!

I just found this neat plugin and thinking of using it since it would be most helpful, I'm using node-javascript to control some features of OBS.
 I looked through the API and found that you could turn visibility of sources on/off which is great! But I would also love it if you could rearrange sourcecs, for example "move 'name of source' up/down one step", I was wondering if this is possible to do in the plugin or if it's a feature that could be added?

Cheers
Simon


----------



## Grindhead Jim (Dec 22, 2016)

NicOnAcid said:


> Works fine with this Android App > https://play.google.com/store/apps/details?id=com.bilhamil.obsremote&hl=de
> I use it only for switching the Scenes!
> 
> Great Work!



Confirmed - no port number needed.


----------



## Palakis (Dec 23, 2016)

Tim0n said:


> Hello!
> 
> I just found this neat plugin and thinking of using it since it would be most helpful, I'm using node-javascript to control some features of OBS.
> I looked through the API and found that you could turn visibility of sources on/off which is great! But I would also love it if you could rearrange sourcecs, for example "move 'name of source' up/down one step", I was wondering if this is possible to do in the plugin or if it's a feature that could be added?
> ...



The source list changes notifications are planned, but not the client commands yet (but they will be).


----------



## Palakis (Dec 23, 2016)

NicOnAcid said:


> Works fine with this Android App > https://play.google.com/store/apps/details?id=com.bilhamil.obsremote&hl=de
> I use it only for switching the Scenes!
> 
> Great Work!



Wow, nice finding ! obs-websocket doesn't work with OBSRemote's web client, but it seems like the Android app is less strict with subprotocols.


----------



## Lombra (Jan 15, 2017)

There any similar (ie more than the tablet UI linked previously) alternatives to the OBS Remote web interface yet or in the making by someone? Functionality wise it's ok, but it looks awful. "No offence". I started hacking it a while ago, but I'm no designer, nor am I very good at implementing the login stuff.

Btw, does this plugin support switching of profiles and scene collections?


----------



## Claire Matthews (Jan 27, 2017)

Thank you for this. I have successfully set up obs-websocket, port forwarding, dynamic dns, and t2t2's obs tablet remote so that I can control my stream from anywhere. It was surprisingly easy to do!

Now my question is - I see reference to password protection, but how do I actually set that up?


----------



## ShalDDA (Feb 12, 2017)

Hai, I'm new to this. I have a questions. I want to add some feautures to the websocket, for example: to set the streaming key in obs studio via the websocket. Can someone give me some guidelines. I know how to program in nodejs etc


----------



## TickleMeOzmo (Feb 16, 2017)

>  for example: to set the streaming key in obs studio via the websocket.

That would require support in OBS to accept changing the streaming key from an API call, and that would require the websocket api plugin to have a function to accept changing the stream key.

And considering that traffic is currently not encrypted between the websocket and the websocket-client, I wouldn't endorse it, even if it was capable.


----------



## Palakis (Feb 19, 2017)

@Lombra  not yet, but it is planned. The plugin's config is currently stored in the profile and this has to be changed if profile switching is eventually implemented.

@Claire Matthews In OBS, go to Tools -> Websocket server settings -> check "Enable authentication" and type the desired password in the Password textbox.
Regarding your use of obs-websocket, be warned : exposing the plugin's Websocket server on the public Internet is not recommended. Please, at least, set up some sort of VPN between your OBS computer and your remote device.

@ShalDDA Out of curiosity : why would you want to change the RTMP stream key from an API call?

@TickleMeOzmo Agreed.


----------



## Palakis (Mar 5, 2017)

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

obs-websocket 4.0.0



> Good news everyone, obs-websocket 4.0.0 is out! This release is better and stronger than ever before, with many bug fixes, feature additions and protocol updates. Check out the release's page on GitHub for a comprehensive changelog and download links.
> *
> Minimum OBS Studio version required : 18.0.0*
> If you get an error message with obs_output_get_congestion in it, this means you'll have to update your OBS Studio...



Read the rest of this update entry...


----------



## HashBrownJM (Mar 11, 2017)

You'll have to forgive me for my lack of expertise on this issue, but, if I'm not going to use it on my computer running OBS, how can I know what the OBS Host is if I want to use it on a tablet (using the OBS Remote app) or as a bookmark, running in the Chrome browser?

Thank you!


----------



## asq (Apr 7, 2017)

there's long standing bug about OSX builds in this project.
in a nutshell - it doesn't compile under mac. there are some issues with linker.
if anyone here has an experience with xcode and would be interested to contribute and solve this - you're very welcome to help!

issue details: https://github.com/Palakis/obs-websocket/issues/16


----------



## Rayj (Apr 15, 2017)

When I seen "OBS Remote"  I though it meant that you could join a broadcast remotely?  I guess not.

What I want to do is run a studio to do local news with a couple of local cameras.   And also have a remote "man on the street" type access using his smart phone.   Obviously he won't be on my LAN, but on his provider (AT&T, T-Mobil, whoever...network).

Any idea how I can have the "man on the street" join me in a  broadcast I do  from the studio?


----------



## Rainbow Harderwijk (Apr 18, 2017)

I expanded the existing OBS-Remote: https://obsproject.com/forum/threads/open_obs_remote.65455/#post-286858
However I am facing the need of following function:
"To be able to send a request via the WebSocket, so that OBS is NOT in Studio Mode. Only one screen is allowed to be visible. If not, and OBS is in Studio Mode (two screens are visible) the Transistion button is needed to be pressed and this is missing in the WebSocket ."
Can this be added?


----------



## Palakis (Apr 19, 2017)

@Rainbow Harderwijk I'm currently working on Studio Mode features for obs-websocket. Still a work in progress right now.


----------



## Rainbow Harderwijk (May 1, 2017)

Hi Palakis. Noticed that there is a command to switch off studio mode. However tried it but get an error response.

Request send:
{"request-type":"DisableStudioMode","message-id":"TEST1"}.

And received back is:
{
    "error": "invalid request type",
    "message-id": "TEST1",
    "status": "error"
}

Can you tell what is wrong with the request? (PS: None of the 4 StudioMode requests work)


----------



## ThatGirlSlays (May 13, 2017)

Hi, I just downloaded the plugin. I have OBS Studio installed in my C drive Program Files but I get the error message when launching the OBS Remote installer "OBS Remotes requires that Open Broadcast Software be already installed. It is installed so what's the deal?


----------



## Rainbow Harderwijk (May 13, 2017)

You first need to start OBS itself. What I do is that in the setting, I have ticked that it will start-up minimized in the task bar. Afte OBS itsel is running, you can start up OBS Remote.


----------



## ThatGirlSlays (May 14, 2017)

Rainbow Harderwijk said:


> You first need to start OBS itself. What I do is that in the setting, I have ticked that it will start-up minimized in the task bar. Afte OBS itsel is running, you can start up OBS Remote.



My OBS Remote won't even install. It fails during the Wizard. I tried installing it with and without OBS running. It tells me I need to install OBS first.


----------



## Rainbow Harderwijk (May 14, 2017)

Steps:
1) Install OBS itself.
2) Install OBS Websocket server addon
3) Just unzip OBS_Remote in a folder. No need to install. Just double click on OBS_Remote to run. Also read instruction of the Original OBS_Remote how to use. You need to have the .dll and .ico and .exe and ,ini files all in the same directory.


----------



## ThatGirlSlays (May 14, 2017)

Rainbow Harderwijk said:


> Steps:
> 1) Install OBS itself.
> 2) Install OBS Websocket server addon
> 3) Just unzip OBS_Remote in a folder. No need to install. Just double click on OBS_Remote to run. Also read instruction of the Original OBS_Remote how to use. You need to have the .dll and .ico and .exe and ,ini files all in the same directory.



I appreciate your reply but I'm still not getting it.

1.) Check. I've had OBS installed for a while now.
2.) I grabbed the websocket installer at https://github.com/Palakis/obs-websocket/releases/tag/4.0.0 (found after searching this forum for "OBS Websocket plugin"). I installed the websocket plugin.
3.) I have a file called obs_remote_1.12_installer that I got off this forum. I tried launching that and again it tells me OBS needs to be installed.

Not sure what step I'm missing.


----------



## Rainbow Harderwijk (May 15, 2017)

A) "obs_remote_1.12_installer"
Seems you are talking about: http://www.obsremote.com/
If so then we are mixing up two different remote programs. "My" remote (started initially by Andy Racer) does not need an installer.
I also realize we are chatting in the obs-websocket threat. Would be better to do that in one to the Remote threats itself. Any how here is the threat I am talking about.
In this threat just download the most recent ZIP file:
https://obsproject.com/forum/threads/open_obs_remote.65455/#post-286858
Assuming you mean "my" OBS_Remote, than continue with B+C below, else you need to go to another threat.

B) Installation and configuration:
Did you edit the file "OBS_Remote.ini"?
In here you need to fill in the IP address of the computer on which OBS(itself) is installed.
If OBS(itself) is on the same PC as OBS_Remote, than you can fill in either the actual network IP address of the computer, or just "127.0.0.1", as this is the default internal host IP address of the computer.

C) Using:
- First start up OBS itself.
- Second start up OBS_Remote.

Please let me know how you are doing.

Greeting form the Netherlands.


----------



## ThatGirlSlays (May 20, 2017)

In regards to my previous comment, yes I was trying to use the wrong OBS remote. I have been successfully using this websocket now for a few days to change my scenes and sources using Deepbot.

Now, unfortunately, I bought a new Elgato Stream Deck and the websocket is not incompatible. I am running the websock on port 4444 with authentication required as required by Deepbot and everything was running fine until I installed the ESD software. I would like to have both in place (Stream Deck for me to control scene at the push of a button and the websocket so my mods/subs can control my scene with chat commands). Any one have a way to get them both to work?


----------



## ThatGirlSlays (May 21, 2017)

ThatGirlSlays said:


> In regards to my previous comment, yes I was trying to use the wrong OBS remote. I have been successfully using this websocket now for a few days to change my scenes and sources using Deepbot.
> 
> Now, unfortunately, I bought a new Elgato Stream Deck and the websocket is not incompatible. I am running the websock on port 4444 with authentication required as required by Deepbot and everything was running fine until I installed the ESD software. I would like to have both in place (Stream Deck for me to control scene at the push of a button and the websocket so my mods/subs can control my scene with chat commands). Any one have a way to get them both to work?




Here is an email response from Elgato support



> Thank you for contacting Elgato Systems.
> 
> I would be happy to help you with the issue where using the Elgato Stream Deck conflicts with the OBS Websocket Plugin.
> 
> ...


----------



## Palakis (May 30, 2017)

obs-websocket is a completely different beast than OBSRemote. Plus you can't install OBSRemote (Bill Hamilton's plugin for OBS Classic) on OBS Studio.

Regarding that Stream Deck issue, a quick process and binary analysis of the Stream Deck plugin for OBS shows no use of WebSockets and rather a use of Shared Memory to communicate with the Stream Deck app. Nonetheless, the Stream Deck app uses WebSockets (for Qt WebChannels) for a reason unknown to me.

I've reached Elgato's Technical support for more details.


----------



## Rayj (May 30, 2017)

In an earlier post you mentioned websockets could be used only if you were on the same LAN?  From what I know about websockets and WebRTC,  you do not need to be on the same lan?  Is this another kind of websocket?


----------



## Palakis (Jun 1, 2017)

@Rayj I believe you're talking about my earlier warning about exposing obs-websocket to the Internet. obs-websocket uses standard WebSockets, which rely on standard TCP sockets (with HTTP in the middle). So you can connect to obs-websocket from another LAN, given that your network configuration allows it (routing, etc...).


----------



## Rayj (Jun 1, 2017)

Palakis said:


> @Rayj I believe you're talking about my earlier warning about exposing obs-websocket to the Internet. obs-websocket uses standard WebSockets, which rely on standard TCP sockets (with HTTP in the middle). So you can connect to obs-websocket from another LAN, given that your network configuration allows it (routing, etc...).



Ah...thanks for the response.  I get it.


----------



## dodgepong (Jun 1, 2017)

Palakis said:


> Regarding that Stream Deck issue, a quick process and binary analysis of the Stream Deck plugin for OBS shows no use of WebSockets and rather a use of Shared Memory to communicate with the Stream Deck app. Nonetheless, the Stream Deck app uses WebSockets (for Qt WebChannels) for a reason unknown to me.



For what it's worth, Elgato have finally released the source code for their Stream Deck OBS plugin: https://github.com/elgatosf/streamdeck-obs-plugin


----------



## ThatGirlSlays (Jun 6, 2017)

ThatGirlSlays said:


> Here is an email response from Elgato support



So Elgato left me an email with some steps to follow to hopefully get both Elgato Stream Dream OBS Websocket plugin to work properly (previously ESD rendered OBS Websocket plugin inoperable). I was out of town for a week, just returning and before I even started the steps, ESD had an update. The update allows both ESD and OBS Websocket plugin both to work simultaneously.


----------



## Jack kang (Jun 6, 2017)

Connect the camera and use the filter,obs-websocket can control recording,but i want to get the current frame saved as a transparent PNG picture,what should I do?


----------



## Palakis (Jun 6, 2017)

@ThatGirlSlays Is it fixed for you?


----------



## Jack kang (Jun 8, 2017)

Jack kang said:


> Connect the camera and use the filter,obs-websocket can control recording,but i want to get the current frame saved as a transparent PNG picture,what should I do?


I want  take a snapshot of video frame ?


----------



## Eliott V. A. (Jun 9, 2017)

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. (Jun 9, 2017)

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 (Jun 14, 2017)

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 (Jul 29, 2017)

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


----------



## Rainbow Harderwijk (Jul 29, 2017)

Tony Morelli said:


> 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'})>
> ...



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.


----------



## Rainbow Harderwijk (Aug 3, 2017)

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


----------



## Stavros (Aug 24, 2017)

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 (Aug 28, 2017)

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 ?


----------



## Palakis (Aug 28, 2017)

illusdidi said:


> 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 ?



Nope, not required.


----------



## illusdidi (Aug 28, 2017)

Palakis said:


> Nope, not required.


okay thank you !


----------



## dodgepong (Aug 29, 2017)

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 (Sep 5, 2017)

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!
...


----------



## Johan Blome (Sep 5, 2017)

Alright. Default port was not free... Changed the port and all is well. Wonder why.


----------



## Palakis (Sep 8, 2017)

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 (Sep 17, 2017)

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.


----------



## hoerich (Sep 28, 2017)

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 (Sep 28, 2017)

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.


----------



## hoerich (Sep 28, 2017)

thanks for your reply, dodgepong
I will checkout stream copilot.

I just discovered remote control via windows power shell automation
https://obsproject.com/forum/threads/windows-powershell-automation.68594/

If both work as expected, it's just a matter of OS we want to use for it.

Thanks a lot!


----------



## Marstead (Jan 10, 2018)

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.


----------



## Marstead (Jan 10, 2018)

Marstead said:


> 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?


----------



## Palakis (Jan 15, 2018)

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

obs-websocket 4.3



> Release changelog and downloads: https://github.com/Palakis/obs-websocket/releases/tag/4.3.0



Read the rest of this update entry...


----------



## Rainbow Harderwijk (Jan 16, 2018)

Thanks a lot for the new release !
RainbowEK.


----------



## vicegold (Jan 17, 2018)

Is there any way to set the filter settings for a source with obs-websocket? Like color correction?
https://laurids.io/screenshots/rMph4VNy.png


----------



## Marstead (Jan 17, 2018)

Hi Palakis,

Continuing to receive boot errors with the new version of obs-websocket. Here's the error: 






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

This error only started occurring in the last two versions of the websocket plugin. Older versions don't generate the error, but also aren't compatible with the most recent version of DeepBot. Any thoughts to fix this?


----------



## Osiris (Jan 18, 2018)

@Marstead I think it's time to update your OBS version, you are way behind.


----------



## Palakis (Jan 19, 2018)

Marstead said:


> Hi Palakis,
> 
> Continuing to receive boot errors with the new version of obs-websocket. Here's the error:
> 
> ...



Releases of obs-websocket are always built for the latest available OBS Studio version. Unless proven otherwise, it's time to update to the latest version of OBS Studio.


----------



## Palakis (Jan 19, 2018)

vicegold said:


> Is there any way to set the filter settings for a source with obs-websocket? Like color correction?
> https://laurids.io/screenshots/rMph4VNy.png



It's currently not implemented, but that's a good feature idea for the next version.


----------



## vicegold (Jan 22, 2018)

Palakis said:


> It's currently not implemented, but that's a good feature idea for the next version.


Awesome! The reason why i'm asking is this: https://laurids.io/rr/greenkey_rr.mp4
I need to greenkey the scene from 0:05, but not in the scene before. Everything is just a single BrowserSource scene and normally the scenes have a smoother transition, just not in the video.

Would really help if that feature is coming! Thank you for your great work.


----------



## Xesty (Jan 22, 2018)

Hey all, LOVE this tool you have created. I am running into an issue where obs-websocket doesn't save my settings (server port and password) from within OBS. OBS currently runs as admin so im not sure what could be stopping the save. any ideas?


----------



## Marstead (Jan 22, 2018)

Thanks guys, I had no idea I was that out of date on OBS. I must have accidentally hit "Skip Version" at some point, because I thought I was caught up. That fixed it!


----------



## Palakis (Jan 22, 2018)

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

obs-websocket 4.3.1



> *Changes since 4.3*
> 
> Bugfix: crash when switching between scene collections
> *Windows, Linux and macOS Install instructions: *see the release page on GitHub.



Read the rest of this update entry...


----------



## illusdidi (Jan 22, 2018)

Palakis said:


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


That was fast ! thank you !


----------



## Kcmartz (Feb 4, 2018)

I attempted installing this fix. Didn't fix.

I closed OBS first, then ran the install, 'confirming' that I wanted to install it in the obs-studio folder, and then started up OBS. Still crashes when I switch scene collections. Can't record my vlog without it!


----------



## dodgepong (Feb 4, 2018)

Can you post an OBS log?


----------



## Kcmartz (Feb 10, 2018)

dodgepong said:


> Can you post an OBS log?


Here's the 'upload last log' option (since it crashed again today):
https://gist.github.com/b43ec8c0af5350549a7178062405d55b


----------



## dodgepong (Feb 10, 2018)

Can you post a crash log as well?


----------



## Kcmartz (Feb 10, 2018)

dodgepong said:


> Can you post a crash log as well?


Crash.log: https://gist.github.com/KensonPlays/61dd6dfd72fa9d2b0b321833b3076301

When "Advanced Scene Switcher" is active, it causes the crashes, but when it's inactive, it works.

I kinda need something to automatically switch from 'Intro Animation' to 'In-Game' for my streams automatically.


----------



## dodgepong (Feb 11, 2018)

According to that log, it is indeed a crash in the Advanced Scene Switcher. I recommend posting in that thread.

Ah, I see you already posted there. Carry on.


----------



## david ciringione (Feb 11, 2018)

dodgepong.. soon as i open obs all my audio goes outta sync and when i stream my game audio outta sync and when add the fix the audio stops work all together.. how do i fix this issue?


----------



## XeiZ (Mar 10, 2018)

I encoutered something odd on my end when trying to install the plugin.
When i install it over my current obs installation it fails to load the needed modules, same happens if i try it with clean plugin folders / no other plugin installed.
However if i try it on a fresh install (well zip file really) of obs in portable mode it works fine.
Not sure what could be wrong here:

Log: https://gist.github.com/anonymous/57a454533ac890f1364d6eeeabe480fb
Plugin folder to show the dlls are in fact there: https://i.imgur.com/MVtSW6N.png

"
12:34:21.257: LoadLibrary failed for '../../obs-plugins/64bit/obs-websocket.dll': The specified procedure could not be found.
12:34:21.257:  (127)
12:34:21.257: Module '../../obs-plugins/64bit/obs-websocket.dll' not loaded
12:34:21.261: Required module function 'obs_module_load' in module '../../obs-plugins/64bit/Qt5Network.dll' not found, loading of module failed
12:34:21.261: Required module function 'obs_module_load' in module '../../obs-plugins/64bit/Qt5WebSockets.dll' not found, loading of module failed
"

Edit: If i replace the bin folder with a fresh one it works, no idea what is going wrong there but it works now...


----------



## Palakis (Mar 19, 2018)

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

obs-websocket 4.3.2



> *Changes since 4.3.1*
> 
> Crash on systray notifications when no systray is available (is the case on some minimal Linux desktops)
> Passwords not saved properly (caused by bad string handling)
> *Windows, Linux and macOS Install instructions: *see the release page on GitHub.



Read the rest of this update entry...


----------



## Palakis (Mar 19, 2018)

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

obs-websocket 4.3.3 (OBS 21.1 Windows hotfix)



> *Changes since 4.3.2*
> 
> [Windows only] Compatibility fixes for OBS Studio 21.1:
> Compiler upgraded to Visual Studio 2015
> ...



Read the rest of this update entry...


----------



## Yurlyn (Apr 9, 2018)

I have had this plugin installed for a long time now but it doesn't show up in the Tools menu. I used the latest installer. What could be going wrong?


----------



## Yurlyn (May 1, 2018)

Never mind, I've managed to track down the issue by comparing and deleting and re-instantiating dll files and it was as I suspected, a conflict with another dll. It was Qt5Network.dll located in bin/64bit) which was put there in 2015... xD

I now have it working ^^


----------



## UWSCIA (Jun 12, 2018)

Source Visibility... solved myself...
{
  "source": "%name%",
  "render": false,
  "request-type": "SetSourceRender",
  "message-id": "123"
}


----------



## wouterfm (Jun 21, 2018)

Hi,

 I installed the websocket plugin, but I got an error. ‘TCP server is used’. 

So I tried to set up another port, like ‘5555’ , and it worked. When I use a switcher on the same computer as OBS (http://www.chrono-en-ligne.com/webtv/websocket/obs_studio/index.html) it worked with ‘localhost’ and port 5555. But if I try this on the other computers, it doesn’t work. Do u know the problem?


----------



## Palakis (Aug 20, 2018)

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

obs-websocket 4.4.0



> *Only use this release with OBS 22 or above!*
> 
> *Changes since 4.3.3*
> 
> ...



Read the rest of this update entry...


----------



## AS-3Ddruck (Aug 22, 2018)

Don't work for me....
Installed it in the OBS Directory and got on OBS under Tools everything to set it up, but the Webserver simply don't start so there is no Page. :(


----------



## vicegold (Aug 23, 2018)

vicegold said:


> Is there any way to set the filter settings for a source with obs-websocket? Like color correction?
> https://laurids.io/screenshots/rMph4VNy.png





Palakis said:


> It's currently not implemented, but that's a good feature idea for the next version.



Any plans on this? :)


----------



## STLbenke (Aug 26, 2018)

II am trying to figure out if I can use web-sockets to control OBS via web GET commands.  If so, can you point me to a list of supported commands and an example of what the command string should look like?  Here is an example of what I'm looking for from VLC:

Pause VLC Remotely:   http://127.0.0.1:8080/requests/status.xml?command=pl_pause

Thanks,
Mike


----------



## Fragfest360 (Aug 30, 2018)

I've found that any nested sources within a Group (The new OBS 22 feature) are not picked up by $OBStimedSource when using OBS Remote Parameters.


----------



## chewara (Aug 30, 2018)

is it possible to get a command in streamlabs chatbot to trigger a szene change ?


----------



## MartiieZ (Sep 8, 2018)

I install 4.4.0 and run OBS Studio 
when I run OBS Remote, my computer




and my smartphone




How can I do?


----------



## twisted86 (Sep 26, 2018)

Hi, I have this installed and working on my streaming PC, but I use a Elgato stream deck on my main PC. Is there anyway that something can be linked to one of the buttons on my stream deck to control things like muting, scene switching, starting/stopping, etc?  Also, I am using the web browser, and when I add a column for audio, it does not show the audio from the NDi sources I have from Scan Converter.  Is there any fix for this?  Thanks.


----------



## USA-Podcasting (Oct 10, 2018)

I just found this plugin and am striving to get myself educated quickly. Does the plugin need to be loaded at the streaming site and remotely at the controlling site?  The remote streaming site is using a PC and the other controlling site can be MAC or PC is crossing platform an issue?


----------



## _ZLD_ (Oct 12, 2018)

The plugin needs to be installed on whatever computer is going to run OBS. Then you talk remotely to the plugin from whatever device supports a web browser and websocket connections. Most modern browsers, desktop or mobile, will be acceptable.


----------



## Madcore (Oct 14, 2018)

MartiieZ said:


> I install 4.4.0 and run OBS Studio
> when I run OBS Remote, my computer
> View attachment 39242
> and my smartphone
> ...


The OBS Remote app is for another plugin, only for OBS Classic. You can use Deckboard, or use the OBS Tablet Remote web app to connect with obs websocket


----------



## Lanpingner (Dec 8, 2018)

Hi everyone
I am currently making a small software to my obs.I am working in VisualBasic
I would like to list my *Sources* In The Scenes.
Can anyone help for me with this problem because I dont know how to do it.
Thanks for any kind of help


----------



## hotag (Dec 12, 2018)

This is an awesome plugin!

I just want to make one suggestion for the next release.

*>In Studio Mode*: It would be awesome to change the scenes in the preview window, and have an extra button for the transition.

I'm saying this because OBS is getting really useful for the professional use, but without a way to change the scenes in preview using a remote controller, being an app or ever a physical controller, it lacks a safety measure to make sure that the scene is well prepared to go live.

If this plugin make it possible, it would be awesome, because OBS its better and has more freedom than other mixing softwares like vMix or even Xsplit


----------



## Kevin Ross (Dec 13, 2018)

It already supports studio mode. Use SetPreviewScene to change the scene in the preview window, and use TransitionToProgram to trigger a transition.

I would like to say thank you for this plugin. I use it with an Elgato Stream Deck. For whatever reason, Elgato have chosen to not support studio mode in OBS, so I am using this plugin in combination with my Stream Deck, with OBS in studio mode. Works a treat!

Thanks!
-- Kevin


----------



## Kevin Ross (Dec 13, 2018)

Lanpingner said:


> Hi everyone
> I am currently making a small software to my obs.I am working in VisualBasic
> I would like to list my *Sources* In The Scenes.
> Can anyone help for me with this problem because I dont know how to do it.
> Thanks for any kind of help



GetCurrentScene will include the sources that are in the scene. Or if you're in studio mode, GetPreviewScene will do the same, for the currently previewed scene.

I don't know of a way to get the sources for just any arbitrary scene, other than making it active first.


----------



## Kevin Ross (Dec 13, 2018)

twisted86 said:


> Hi, I have this installed and working on my streaming PC, but I use a Elgato stream deck on my main PC. Is there anyway that something can be linked to one of the buttons on my stream deck to control things like muting, scene switching, starting/stopping, etc?  Also, I am using the web browser, and when I add a column for audio, it does not show the audio from the NDi sources I have from Scan Converter.  Is there any fix for this?  Thanks.



Yes, I am using this plugin with the Stream Deck. It requires a small helper program (that I wrote) that gets called when you push a button on the Stream Deck, it sends off the appropriate command to the websocket, which can be on the same computer, or a different computer, if your Stream Deck and OBS are on different computers.

WARNING, don't run programs from random people on the internet! But if you want to live dangerously, you can use the small helper program I wrote, which will link the Stream Deck buttons to actions in OBS.

This program depends on the Visual C++ 2017 Runtime, which you might already have installed. If not, you can download it from https://aka.ms/vs/15/release/VC_redist.x86.exe

Extract it someplace on your computer that has the Stream Deck (for example, for me I would put it in c:\users\kevin), then in the Stream Deck software, go to System -> Open, and drag that to a button. For "App / File" paste in the following:

To change to a scene:
C:\users\kevin\ws_send.exe localhost 4444 "{\"request-type\":\"SetCurrentScene\",\"scene-name\":\"Camera 2\",\"message-id\":\"\"}"

Replace c:\users\kevin with the location where you stored the file.
Replace localhost with the IP address of your streaming computer, if it isn't on the same computer as the Stream Deck.
Replace Camera 2 with the name of the scene you want to switch to.
Replace SetCurrentScene with SetPreviewScene if you're using studio mode.

To execute a transition if you're in studio mode:
C:\users\kevin\ws_send.exe localhost 4444 "{\"request-type\":\"TransitionToProgram\",\"with-transition\":{\"name\":\"Cut\"},\"message-id\":\"\"}"

Replace "Cut" with the name of the transition you want to use, e.g. "Fade"

There are many, many more things you can do. The complete list is at https://github.com/Palakis/obs-websocket/blob/master/docs/generated/protocol.md


----------



## Kevin Ross (Dec 14, 2018)

I just noticed there is another command line tool that can be used instead, to control OBS from a Stream Deck over the network.

https://obsproject.com/forum/resources/command-line-tool-for-obs-websocket-plugin.615/

So you can use whichever method best suits you. :)


----------



## DLE5EL (Dec 15, 2018)

Is it possible to use obs remote/websocket to enable twitch chat to trigger key strokes? 

Example - Viewer types in chat !jump ... (space bar key stroke activated) ... result = character jumps in-game.


----------



## Kevin Ross (Dec 16, 2018)

Use a chat bot (e.g. deepbot) that monitors the chat, and can execute custom commands, such as sending keystrokes to the game. This actually has nothing to do with obs websocket or obs remote.


----------



## vvbash (Dec 17, 2018)

Hello! I apologize for my English, but I hope you understand me. :)
I am broadcasting with a large number of scenes (5 video cameras, plus various PIP combinations, plus opening credits and titres). All this is controlled by man in the editing room. For his and my convenience, I developed and assembled two hardware devices: indicators of the selected scene (which is installed in the studio) and an autonomous keyboard for switching scenes. There is a video of how this works, but only in Russian.

But there is a problem: the obs-websocket transmits quite a lot of “extra” information and the memory capacity of my devices is not always enough to receive such large packages.

I hope the plugin author will read it: it would be good to provide in the new version the possibility to include an abbreviated version of the packages. For example, when requesting a list of scenes, transfer only the names of the scenes, without their description. At the moment, to get a list of scenes, I have to initialize the device by  simply to switch them all in turn, in order to receive information in relatively small packets.


----------



## Lanpingner (Dec 17, 2018)

Kevin Ross said:


> GetCurrentScene will include the sources that are in the scene. Or if you're in studio mode, GetPreviewScene will do the same, for the currently previewed scene.
> 
> I don't know of a way to get the sources for just any arbitrary scene, other than making it active first.



Dear Rose
I found a way but my problem is thats only can show if i give the number of the source.
Do you know I can show all the sources.
here is my code
0 mean the first socues I want to list out all

For Each scene In obs.ListScenes
            ListBox2.Items.Add(scene.Items.ToList.Item(0).SourceName.ToString)

 Next


----------



## DLE5EL (Dec 18, 2018)

Kevin Ross said:


> Use a chat bot (e.g. deepbot) that monitors the chat, and can execute custom commands, such as sending keystrokes to the game. This actually has nothing to do with obs websocket or obs remote.


Do you know where i could find an example of this kind of command?


----------



## Kevin Ross (Dec 21, 2018)

Lanpingner said:


> Dear Rose
> I found a way but my problem is thats only can show if i give the number of the source.
> Do you know I can show all the sources.
> here is my code
> ...



I figured out that GetSceneList will return an array of scene objects, which will include the list of sources for each scene.  So one single call, GetSceneList, will give you all the scenes, as well as all the sources for each scene. Formatted as JSON, of course.

From the code sample you posted, it looks like you already have a list of sources for each scene (the scene.Items collection). I suppose you can do something like "For Each item in scene.Items" or maybe "For Each item in scene.Items.ToList"


----------



## Kevin Ross (Dec 21, 2018)

DLE5EL said:


> Do you know where i could find an example of this kind of command?



I believe you can use AutoIt or AutoHotKey to send keystrokes to another program.


----------



## peejaygee (Dec 21, 2018)

All of a sudden my OBS Remote (using OBS Websocket 4.4.0) is causing OBS Studio  (22.0.2, 64 bit) - to 'Not Respond' and all I've done is done a windows update, the ones that automatically come down. I don't know were to start to look. I've tried checking a few things, like the firewall to see if it blocked a port (for some reason) I've tried adding the port back into the firewall (even though I shouldn't need too over a local network). I can manually switch scenes at the moment, but I prefer to use my cell phone or remote software to change scenes, etc. Also commands from Streamlabs Chatbot won't work.

Edit1 also based on another post about a 'not responding' issue, I made sure my graphics drivers were the latest version.
Edit2 I have also tried with and without authentication, and also changing the default port I was using to another one.
Edit3 I notice that I'm getting a lot, and I mean a lot of 'obs-broswer-page.exe' generated in the task manager.
Edit4, so 24 hours later, I tried again, it worked once, and then it went back to 'not responding' after I tried it again, I did nothing with the machine/software except restart it and wait once while the 'not responding' was there.
Edit5, so I waited, maybe 3 minutes, then it connected? weird.

Anybody else having this issue, or at least what log file should I be looking for, or trying some tests while I'm offline and not streaming.

Can anybody help me please?


----------



## Palakis (Dec 30, 2018)

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

[Pre-Release] obs-websocket 4.5.0



> *Only use this release with OBS 22 or above!*
> 
> *Changes since 4.4.0*
> 
> ...



Read the rest of this update entry...


----------



## vugs (Jan 8, 2019)

I find your work amazing. I'm working currently on creating an API to be able to control OBS remotely and your WebSocket is simply amazing, but I want to know if there's a way to interact with other plugins.


----------



## OBSnewby (Jan 15, 2019)

Hi.Ive just intalled the plugin. how do I know if it is installed correctly? There is some kind of message or button in OBS? In my older (20.0.2) obs version I could see a websocket button under TOOLS, but Im with the latest obs version and that button is gone.
Really thanks


----------



## devomate (Feb 2, 2019)

Hi,

Awesome plugin, allows for so much more to be done with OBS.

I am having the same experience as OBSnewby using version 22.0.3 (which to be fair is in beta) so I can use the NVENC implementation. This plugin does not appear under "Tools"

If I revert back to 22.0.2 (currently GA version) it appears. Do we just have to wait for 22.0.3 to go live in Feb for plugins to start working?

Thanks!


----------



## TheAncientGamer (Feb 15, 2019)

Plugin not working with OBS23-RC2 Any chance for a hotfix? My stream misses my bot scripts...


----------



## TheAncientGamer (Feb 16, 2019)

No answer in over a month...is this dev still with us?


----------



## Narcogen (Feb 19, 2019)

Workaround suggested is to delete Qt5Network.dll from bin/64bit. If you do that it should work in RC2. (Doublecheck in the test build forum, near the end of that thread, to be sure, but this suggestion did work for me).


----------



## delphisaurus (Mar 11, 2019)

Hi there, the link to the readme (on the overview page) seems to be broken
https://github.com/Palakis/obs-websocket/blob/master/README.md


----------



## delphisaurus (Mar 11, 2019)

Also, I could be paranoid, or maybe missing something, but isn't it dangerous to make the stream key available via this plugin - for example, in theory, when accessed from a web browser the javascript could fetch the key after user connects/authenticates and do anything it wants with it without the user knowing, no?


----------



## sqr (Mar 12, 2019)

Hello guys, does anyone know if it is possible via obs websocket to change a source input value? 

I have seen in the protocol.md that there is a SetSourceSettings, that has a request field called sourceSettings, but I don't know if that includes an Input field and if that could be changed.

The aim is to be able to change the HLS stream that is being used as a source, remotely.

Thanks


----------



## HisDivineOrder (Mar 12, 2019)

I've been considering my alerts lately.  Right now, I'm still climbing my way up to Affiliate and I'm very close now.  Up till now, all I've needed was an alert for follow, host, raid, but mostly just follows.  I figure once I hit Affiliate I ought to consider my alerts again.  I noticed this while reading about ManVsGame's intriguing alert that changes his watermark from transparent to opaque, does an animation, and then goes transparent again...

"After a few failed attempts to “fake it” we finally decided that normal alerts just wouldn’t cut it. Froyd’s design, and the direction from MANvsGAME himself, dictated that we needed a way to interact with the watermark on-screen. Not only that, but also have some data that didn’t disappear after the alert was cleared. Websockets provided a simple way for us to tap into the data feed from StreamLabs. Tehkhop created a queue system and some amazing code that filtered the alerts and even brought in emotes in from the messages."

What's intriguing about his watermark is that it's constantly in motion.  So it seamlessly goes from transparent to opaque while in motion, then transitions back.  Lately, I've begun to wonder if they're probably doing an invisible scene swap with one scene being him with a transparent logo and then one scene with it opaque, everything else the same.  Alerts must only happen on the opaque scene maybe?

Anyways, it got me to wondering if obs-websockets plus alerts can lead to alerts that control scene changes?  Does anyone know if there's any code out there of someone doing that?  You might do this to do some kind of color filter on yourself during an alert or something.  I've done a google search and I can't see anyone even talking about using websockets in this way EXCEPT that original blog entry by NerdOrDie.


----------



## Palakis (Mar 30, 2019)

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

obs-websocket 4.5.1



> *Only use this release with OBS 22 or above!*
> 
> *4.5.1 bugfix release*
> 
> ...



Read the rest of this update entry...


----------



## macharborguy (Mar 30, 2019)

So the transparent logo going opaque and back to transparent is nothing new.  Our custom written alert has a transparent "R&D" logo in the lower left corner that becomes opaque when a Sub comes in.  Added to that, the R and D letters split apart, moving to opposite sides of the screen, revealing a "new / resub" message at the bottom center, then return to their normal positions and transparent at the end of the animation.  Old example from a few years ago, quality is low, but it was the quickest clip of mine that I could find showing my alert : https://www.twitch.tv/robanddan/clip/FrailRichOrcaStinkyCheese

This is all done in CSS.  The rotating ManVsGame logo "could" be a looping video file playing back in the HTML Browser Source, with its opacity being shifted in CSS.  OR it could be made transparent via a series of calls to the obs-websocket plugin slowly adjusting an opacity setting in one of its source Filters.  It all depends on which was more performant overall.

As for OBS-Websocket and Alerts controlling scene changes, this can 100% be done.  Please look at these clips where I utilize obs-websocket and a tablet control panel to switch scenes, but also auto-enable a video of a lower third panel, which then disables itself shortly after it slides off screen, effectively resetting itself.  The text and emote graphic are part of a browser source that also auto-populate the area with the appropriate information.  https://www.twitch.tv/robanddan/clip/CrunchyFairPepperUncleNox

You also mentioned a "queue" system for alerts.  Yep, done that too, using the Async.js library and its Priority Queue feature.  https://caolan.github.io/async/docs.html


Different types of alerts have different priority levels.  Priority Order is as follows...

1: Subs of all types (new, resub, gifts, etc).  Raids, Large Donations, Giveaway starting trigger
2 : New Follow
3: Big Host (brings in 50% or more viewers than what the channel currently has.  If we have 100 viewers and they bring in 50+ its a Big Host)
4: Small donation, StreamGifts purchase, Humble Bundle purchase
5: Smaller host (less than 50% of the current live viewer number)
6: Alert of a Tweet mentioning our Twitter account

This bundles up similar alerts so they all trigger one after another in order of priority, rather than handling them as they all come in, and puts the most important ones up front, and the not so immediate ones toward the back.


----------



## HisDivineOrder (Apr 4, 2019)

macharborguy said:


> So the transparent logo going opaque and back to transparent is nothing new.  Our custom written alert has a transparent "R&D" logo in the lower left corner that becomes opaque when a Sub comes in.  Added to that, the R and D letters split apart, moving to opposite sides of the screen, revealing a "new / resub" message at the bottom center, then return to their normal positions and transparent at the end of the animation.  Old example from a few years ago, quality is low, but it was the quickest clip of mine that I could find showing my alert : https://www.twitch.tv/robanddan/clip/FrailRichOrcaStinkyCheese
> 
> This is all done in CSS.  The rotating ManVsGame logo "could" be a looping video file playing back in the HTML Browser Source, with its opacity being shifted in CSS.  OR it could be made transparent via a series of calls to the obs-websocket plugin slowly adjusting an opacity setting in one of its source Filters.  It all depends on which was more performant overall.
> 
> ...




Thanks!


----------



## Wutzmann (Apr 4, 2019)

Have the plugin installed and configured.

How do I call the whole thing now from another computer in the Browser?


----------



## KenNics81 (Apr 11, 2019)

Hi, i can´t find any answer to the question "How to configure the obs-websocket plug-in to control obs from another network". I want to have access to serveral simple controls when i am not at my pc and NOT in the same network as my streaming computer?
It seems to be quite complicated...


----------



## Lanpingner (Apr 11, 2019)

KenNics81 said:


> Hi, i can´t find any answer to the question "How to configure the obs-websocket plug-in to control obs from another network". I want to have access to serveral simple controls when i am not at my pc and NOT in the same network as my streaming computer?
> It seems to be quite complicated...



Dear KenNics81
The answer for you question is much easier then you think You can simpily make a port forward on your router to access the OBS WebSocket from anywhere you want. When you are away from home, But if you are on the same network but in different subnet that can be a bit complicated. Please make sure you give a clear question soo we can help for you


----------



## Jaxel (Apr 11, 2019)

Does this not work with SSL?

I'm trying to set up a page on my server, which is behind HTTPS (SSL), and the websocket is rejecting the connection.


----------



## Wutzmann (Apr 12, 2019)

I ask aigin, how do I call the remote in the LAN on another computer?


----------



## Jaxel (Apr 12, 2019)

I'm unable to get authentication working at all in my JavaScript.
I'm using the SHA256 library here: https://github.com/emn178/js-sha256
When authentication is required, it produces a prompt:

```
if (data['authRequired'])
{
    var pass = prompt("This OBS Websocket server requires a password:");
    
    if (pass != null)
    {
        var secret_string = pass + data['salt'],
            secret_hash = sha256(secret_string),
            secret = btoa(secret_hash),
            auth_response_string = secret + data['challenge'],
            auth_response_hash = sha256(auth_response_string),
            auth_response = btoa(auth_response_hash);
            
        
        args = {
            'request-type': 'Authenticate',
            'message-id': 'Authenticate',
            'auth': auth_response,
        };
        this.socket.send(JSON.stringify(args));
    }
}
```

However, I always get an authentication failed error in response.
What am I missing here?


----------



## KenNics81 (Apr 15, 2019)

Lanpingner said:


> Dear KenNics81
> The answer for you question is much easier then you think You can simpily make a port forward on your router to access the OBS WebSocket from anywhere you want. When you are away from home, But if you are on the same network but in different subnet that can be a bit complicated. Please make sure you give a clear question soo we can help for you



I thought there is an easy way to access obs when i am away (over internet connection). For now i am using teamviewer to control OBS from my mobile phone when i am not at home. 
Here is what i want to do:

I am livestreaming live music on youtube with my mobile phone. For the beginning i have a "Start Streaming" screen, an animated video with music and a countdown. Using a second iphone (lets call it iphone 2 ) i  launch this countdown via teamviewer on OBS studio at home while i am on location already. During that countdown i get the stream started on my streaming iphone (iphone 1). When the countdown has finished i need to access OSB studio at home again to end the livestream there so youtube picks up the stream from my streaming iphone (iphone 1) that goes to the same rtmp adress. During the breaks i have a BrB sign setted up at home and an end screen. Both are triggered over teamviewer again. That moment i access OSB studio at home via Teamviewer on iphone2 and go live from there. After the stream has connected i end the livestream on my streaming iphone (iphone1) what makes youtube pick up the rtmp stream from OBS studio at home. So i am looking for a way to make all this easier.

I have tried several apps on iphone2 to stream those videos from location, but they always get stuck or the app crashes. Iphone 1 uses Streamlabs for Livestreaming, but the app cant play videos directly from the Iphone.


----------



## KenNics81 (Apr 17, 2019)

Lanpingner said:


> Dear KenNics81
> The answer for you question is much easier then you think You can simpily make a port forward on your router to access the OBS WebSocket from anywhere you want. When you are away from home, But if you are on the same network but in different subnet that can be a bit complicated. Please make sure you give a clear question soo we can help for you



 So i configured a virtual machine as streaming server using Nginx today. I can now stream video from my mobile phone to my private server that sends it out to obs at home. But still even i opened port 4444 on my router, on my pc and on the VM the remote isnt working... Connecting it directly to my pc works but as i do not have a static IP tomorrow it wont... Its so complicated and so much work... Why cant there be a simple tutorial ...??? ;)


----------



## Jaxel (Apr 18, 2019)

Got a couple of feature requests:

The contents of `Heartbeat` should be included in `StreamStatus`. StreamStatus is already being sent every 2 seconds, why enable a second trigger just to get that extra information?
The response from `GetSceneList` should also include the name of the scene collection itself.


----------



## jthorup (May 14, 2019)

I'm getting ready to work with a coder on a custom interface for use with obs-websocket. I'm trying to determine if the websocket has access to the option "Fullscreen Projector"? I would like to create an interface that allows me to dynamically change what scenes are going to what display. I've only found one PDF, on the python implementation, that gives a list of available commands and calls. 

Is there a list of available functions somewhere?

Thanks


----------



## Palakis (May 20, 2019)

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

obs-websocket 4.6.0



> *Only use this release with OBS 23 or above!*
> 
> *4.6.0 bugfix release*
> 
> ...



Read the rest of this update entry...


----------



## Palakis (May 20, 2019)

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

obs-websocket 4.6.1



> *Only use this release with OBS 23 or above!*
> 
> *4.6.1 Hotfix changes*
> 
> ...



Read the rest of this update entry...


----------



## Jaxel (May 22, 2019)

`stats['free-disk-space']` seems to have incorrect data. It's returning the value of the free space on my C: drive... even though my recording drive is Z:. The stat is shown properly in OBS itself, but not in the websocket.

Also, the numbers for `output-skipped-frames` and `render-missed-frames` don't always match up with what OBS is reporting.

Also, any word on SSL support?


----------



## ZiltoidRacer (May 25, 2019)

Palakis said:


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



Thanks for this, your work is appreciated...


----------



## ynetwork (May 31, 2019)

sorry for being a complete novice. is it possible to add replay buffer buttons for start/save/stop?


----------



## illusdidi (Jun 4, 2019)

Hi guys,
The README.md link in the overview seems broken :(


----------



## Vaesive (Jun 12, 2019)

Currently have a browser source that has some audio in it. Volume is fine when toggled through OBS manually or through my Streamdeck.

However, when the browser source is toggled through OBSRemote the volume is lower (sounds about 50%). Anyone else experience this?


----------



## vugs (Jun 25, 2019)

I don't know if I'm doing something wrong or not, but in the version 4.6.1 the server don't receive the stream key the way it used to in the version 4.5.1. I have a client in VueJS using vue native WebSocket, and I'm sending the JSON object this way:
this.$socket.sendObj({
    'request-type': 'StartStreaming',
    'message-id': '1',
    'stream': {
        'settings': {
            'key': 'someKey'
        }
    }
})
With version 4.5.1 I can stream to that key, with 4.6.1 it takes the default configuration from OBS. I hope it could be fixed.
Regards,
Juan Pablo Rothkegel


----------



## bazza (Jul 19, 2019)

For GNU/Linux:


```
./send_to_websocket.sh "{\"request-type\":\"SetCurrentScene\",\"scene-name\":\"Escena 2\",\"message-id\":\"\"}"
```

send_to_websocket.sh


----------



## tuxilus (Jul 20, 2019)

Palakis said:


> Palakis submitted a new resource:
> 
> Websocket plugin - Remote-control your OBS Studio with Websockets
> 
> ...


Hello,
it is really great that with websockets there is a stable solution for interaction with obs, BUT: Because this plugin sends really every detail about every scene it can happen and did happen to me that in a complex rundown the length of the websocket message exceeds 64K and that is the point where processing (based on Java) throws an exception error. This means reducing the number of scenes and restart my OSC to Websockets interface.
I would suggest to implement a  command which only sends back the names of the scenes to be able to use them for switching sequences. It is great that the websocket interface tells every detail about everything, but I dont need this for swtching obs. Only the names of the scenes because it is impossible to reference them by the internal number of the scenes. Because I am doing junk parsing to extract the scene names I have to mention that this parsing gets a little bit complicated because there are not unique names like the identifier 'name'.
In General: It is a great work and it is well documented, but please implement a protocol mode where only the main informations are sent.

Thanks a lot.


----------



## Daï-mon (Aug 13, 2019)

Hi everyone !

I need obs-websocket in order to use OBS with my launchpad. But (I might be very stupid) I don't manage to run it in OBS. It juste doesn't appear in Tools
Please, can anyone explain me how to install and make it run easily (in english or in french) ? I'm just a simple streamer and I'm so very lost :(

Thank you ^^


----------



## ZiltoidRacer (Aug 14, 2019)

Daï-mon said:


> Hi everyone !
> 
> I need obs-websocket in order to use OBS with my launchpad. But (I might be very stupid) I don't manage to run it in OBS. It juste doesn't appear in Tools
> Please, can anyone explain me how to install and make it run easily (in english or in french) ? I'm just a simple streamer and I'm so very lost :(
> ...



i'm guessing you are running windows?
i recently installed this using the windows installer, then goto Tools and the websocket settings are at the bottom of the list under Tools.


----------



## Daï-mon (Aug 14, 2019)

ZiltoidRacer said:


> i'm guessing you are running windows?
> i recently installed this using the windows installer, then goto Tools and the websocket settings are at the bottom of the list under Tools.



I'm using Windows 10 64 bits but, as I said, after downloading and installating, there is NO new option in Tools. I tried to install a lot of version (4.2 / 4.6 / 4.6.1), to use the downloader or to copy the files. Nothing works. At all. I'm so very sad because I need it so much :(


----------



## zxcv (Sep 2, 2019)

Hello, i'm trying to use websocket plugin for change the webcam resource, but i need some parameters than i don't know how to get. The obs uses a reference similar to this to configure a camera:

"video_device_id": "Dispositivo de vídeo USB:\\\\?\\usb#22vid_046d&pid_0990&mi_00#227&3378aa86&0&0000#22{65e8773d-8f56-11d0-a3b9-00a0c9223196}\\{bbefb6c7-2fc4-4139-bb8b-a58bba724083}"

Someone can help me get the last parameter after the last "//"?


----------



## huachantam (Sep 4, 2019)

The problem is that I can connect to the PC with the WAN IP but can't connect via the domain name.


----------



## empirednb (Sep 9, 2019)

Hi. Thanks for the awesome plug-in . I was able to get it up and running in a Vue demo app without much fuss. Salt Authentication works and i'm able to use the Heartbeat, GetStreamSettings and SetStreamSettings, nice! ..

I was hoping I might be able to Get/Set .. Settings->Output->Streaming->Audio Bitrate & Video Bitrate . I was browsing the protocol reference and poking around but unless i missed it I couldn't find anything. is this setting exposed? if not, can it be?


----------



## Jackripperpc (Sep 17, 2019)

how do you use the web socket remote when your not at home on network and your streaming irl on your phone via rtmp through your at home computer?


----------



## jellytotz (Sep 23, 2019)

So I have OBS Studio on my Gaming PC and also on my Streaming PC.  Both connected via NDI.  I have the websocket installed onto both and activated.  All connected via LAN. 

On my gaming PC I can use the http://t2t2.github.io/obs-tablet-remote/  domain and connect no problems.  But while using the website domain I can't connect to my Streaming PC using Streaming PC IP address.  I used the IP address of my local area network of the Streaming PC 192.xxx.x.xxx - what am I doing wrong?  Says "Server not reachable"


----------



## Palakis (Nov 12, 2019)

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

obs-websocket 4.7.0



> *Only use this release with OBS 23 or above!*
> 
> *Changed since 4.6.1*
> 
> ...



Read the rest of this update entry...


----------



## lioran (Nov 16, 2019)

Edit: NVM what i reported there was a problem with my code regarding packet bigger than 126 bytes
that being said,turning on studio mode crashes obs for some reason


----------



## lioran (Nov 25, 2019)

Is there a reason why I can't connect to the plugin if it's not coming from within the PC? anything outside of 127.0.0.1 just timeout.
I wanted to make my tablet connect directly to OBSwebsocket but it's not working. so I have to make a receiver for my tablet then connect to obs through that.


----------



## Deffy87 (Nov 30, 2019)

I'm in the same boat. All of a sudden I cant connect to OBS anymore. Redownloaded the socket and OBS, still nothing.


----------



## Narcogen (Dec 14, 2019)

Presuming that the plugin will need an update to work with 24.0.5 on MacOS.

13:01:57.454: os_dlopen(/Library/Application Support/obs-studio/plugins/obs-websocket/bin/obs-websocket.so->/Library/Application Support/obs-studio/plugins/obs-websocket/bin/obs-websocket.so): dlopen(/Library/Application Support/obs-studio/plugins/obs-websocket/bin/obs-websocket.so, 257): Library not loaded: @rpath/QtWidgets
13:01:57.454:   Referenced from: /Library/Application Support/obs-studio/plugins/obs-websocket/bin/obs-websocket.so
13:01:57.454:   Reason: image not found
13:01:57.454:
13:01:57.454: Module '/Library/Application Support/obs-studio/plugins/obs-websocket/bin/obs-websocket.so' not loaded
13:01:57.454: ---------------------------------


----------



## DerSimiGamer (Dec 29, 2019)

hello, my english is not that good. After an update from OBS Studio, my OBS web socket no longer works and is no longer displayed under Tools.


----------



## Jaxel (Jan 9, 2020)

Another bug to report... the number reported in `render-total-frames` from StreamStatus seems completely wrong.


----------



## Jaxel (Jan 9, 2020)

I still think `heartbeat` is a superfluous function. Most of the data in it has been moved to `streamstatus`, which is great. But not everything.

There are still a few pieces of data that need to get moved over:

total-stream-frames
total-stream-bytes
total-record-frames
total-record-bytes


----------



## Filip S (Jan 10, 2020)

I would like to be able to use websocket from my Linux/Raspberry  PI4 - but is possible to install the browser plugin on this ?
Even if I can compile OBS 24 on a Rasberry PI4 with Ubuntu 19 64 bit - I currently use Rasbian/Debian boxer
it would be more easy to remote control the OBS compared to a vnc on a small device.

 I have the Raspberry doing a SRT stream from my camera to my OBS and it would be nice to
just run the cromebrowser or firefox to conntrol the OBS at home also but its not really working without a plugin.

*Manual install*: Download _obs-websocket_4.7.0-1_amd64.deb_ and install it on your system but I cant use
amd64.deb so anyway  for me to make a solution for RaspberryPI ?


----------



## Valazdin (Jan 14, 2020)

I tried to use the installer, but it fails to find OBS.  This is because I don't install OBS on C:\ its on a different drive.  It would be nice if we could point it to the OBS install and not have the software scan for it.  

Second item; OBS Remote is connected (green circle on the page), OBS is connected (alert popped on connect), Chatbot is connected (connect is grayed out and alert pops). I put in the command $OBSscene("myscenenamehere") as a command and its returning in chat.  I don't know what I'm doing wrong.


----------



## Filip S (Jan 15, 2020)

- Ok  did try the http://t2t2.github.io/obs-tablet-remote/ on a Raspberry PI4 with Rasbian and nginx and it was working.
but it was using port 8082 and I was able to use a browser on my lan to control the OBS on another computer.

So I did setup up nginx with ssl and proxy to the 8082 but I it complain about it saying security was fine but it
was not possible for the browser to handle this. (I have not tried usning a vpn connection) 

Anyway t2t2 solution is nice - as you can include a frame you may need to maybe facebook or youtube studio page
or maybe have rtmp stats from a server included - not just for tablet usage and it was working on my Raspberry
chrome also - part of this would even be nice if it was part of the OBS Gui where one needs to configure and
see studio streaming information - view keys maybe but OK you can do this with a browser also but its nice with the frame option.

I am new to this nodejs and npm stuff and I think the version included with my raspberry was onld and I did
update it follow instruktions online for this but - I was going for a setup that not needed the internet acces,

I did need to run it development mode - I don't know howto start it as a regular service as a build but this
is my lack of know how ;)


----------



## andernunes (Jan 27, 2020)

i'm developing with sucess a remote control using .net with similar interface to ATEM Control. 
I will integrate with GPIIO control from audio console for simultaneous radio broadcasting.

Thanks for your time and knowledge.


----------



## davemac (Jan 29, 2020)

Love this plugin but having problems with SetSyncOffset passingin a negative offset. The Get function returns a negative manually set in OBS, but the set gives a bad parameter error.  Positive values work fine...any ideas???


----------



## Kane49 (Feb 11, 2020)

Hey Im trying to dynamically create and modify a subscene to use as an overlay for the real scene and this seems perfect for that !

Unfortunately i can not find the API Calls to create new scenes and scene items, do they exist ?


----------



## lioran (Feb 12, 2020)

Since I installed this plugin, every time I close OBS, it just crashes and I have to go in task manager to fully close OBS.
Does anyone know if there is a way to fix that?


----------



## shimatani (Feb 13, 2020)

I would like to use a tally for OBS Studio, however I have some problems. Example how do I set up this obs remote tally light apk in obs studio?


----------



## belgian_style (Feb 15, 2020)

I'm looking to trigger a script using obs-websocket. I'm currently trying to trigger the Instant-replay.lua script running on a mac, but am exploring switching to windows and a different instant replay script to get me closer to my end goal. Is this currently possible or planned? I haven't found any mention of triggering scripts when looking here. Any suggestions?


----------



## StrikeDaMic (Feb 19, 2020)

This is a WONDERFUL thing and opens so many possibilities, thank you!

Could you please add a hook for switching a source's output mode (only output / only monitor / monitor and output) please? That would make it even better for me. Thank you so much!


----------



## bwanden (Feb 19, 2020)

I love using this plugin for running my black magic ATEM in tandem with OBS!

I wanted to report an issue (not sure if its just happening to me) but if I have companion open before opening OBS, none of my commands work after loading OBS and I never get an alert saying that the websocket is connected. I have to manually close and re-open companion before it will recognize that OBS is open.

Anyone know if there's a good workaround?


----------



## Narcogen (Feb 20, 2020)

bwanden said:


> I love using this plugin for running my black magic ATEM in tandem with OBS!
> 
> I wanted to report an issue (not sure if its just happening to me) but if I have companion open before opening OBS, none of my commands work after loading OBS and I never get an alert saying that the websocket is connected. I have to manually close and re-open companion before it will recognize that OBS is open.
> 
> Anyone know if there's a good workaround?



Yes, open OBS first. If OBS isn't open, there's no socket for websocket to connect to. Websocket could be perhaps improved to provide an error in this case, and poll the socket until it is available, but the only workaround you can implement is make sure OBS is open first.


----------



## belgian_style (Mar 22, 2020)

Is there any way to remote trigger a script using this? Looking to trigger the Instant-replay script. Thanks!


----------



## Palakis (Mar 26, 2020)

Kane49 said:


> Hey Im trying to dynamically create and modify a subscene to use as an overlay for the real scene and this seems perfect for that !
> 
> Unfortunately i can not find the API Calls to create new scenes and scene items, do they exist ?



This is currently a Work In Progress. It will probably make its way into OBS in obs-websocket 4.9 (two releases from now).


----------



## Palakis (Mar 26, 2020)

davemac said:


> Love this plugin but having problems with SetSyncOffset passingin a negative offset. The Get function returns a negative manually set in OBS, but the set gives a bad parameter error.  Positive values work fine...any ideas???



This has been adressed and will be released in obs-websocket 4.8 (the next release)


----------



## Palakis (Mar 26, 2020)

belgian_style said:


> Is there any way to remote trigger a script using this? Looking to trigger the Instant-replay script. Thanks!



Planned this for obs-websocket 4.9 (two releases from now). Ticket here: https://github.com/Palakis/obs-websocket/issues/444


----------



## Palakis (Mar 26, 2020)

StrikeDaMic said:


> This is a WONDERFUL thing and opens so many possibilities, thank you!
> 
> Could you please add a hook for switching a source's output mode (only output / only monitor / monitor and output) please? That would make it even better for me. Thank you so much!



Planned this in obs-websocket 4.9. Ticket here: https://github.com/Palakis/obs-websocket/issues/445


----------



## Palakis (Mar 26, 2020)

bwanden said:


> I love using this plugin for running my black magic ATEM in tandem with OBS!
> 
> I wanted to report an issue (not sure if its just happening to me) but if I have companion open before opening OBS, none of my commands work after loading OBS and I never get an alert saying that the websocket is connected. I have to manually close and re-open companion before it will recognize that OBS is open.
> 
> Anyone know if there's a good workaround?



By "companion", you mean BitFocus Companion?

Btw which version of obs-websocket are you using? This issue should have been fixed in obs-websocket 4.7.0.


----------



## Palakis (Mar 26, 2020)

Jaxel said:


> I still think `heartbeat` is a superfluous function. Most of the data in it has been moved to `streamstatus`, which is great. But not everything.
> 
> There are still a few pieces of data that need to get moved over:
> 
> ...



It is indeed a superfluous function. I want to get rid of it, but I don't want to break compatibility with existing applications. I'll get rid of it in 5.0.


----------



## Palakis (Mar 26, 2020)

Jaxel said:


> Another bug to report... the number reported in `render-total-frames` from StreamStatus seems completely wrong.



Please report bugs on GitHub. I'm not always reading the forums.

What makes think the value of `render-total-frames` is "completely wrong"?


----------



## Palakis (Mar 26, 2020)

illusdidi said:


> Hi guys,
> The README.md link in the overview seems broken :(



Fixed!


----------



## Paul van Dinther (Mar 29, 2020)

Absolutely love this API. I was trying to use a USB game controller to control OSB by issueing hotkeys but that was rather hacky. This API is just perfect. I am building a PWA app that can be installed and run offline that will present the input of many game controllers and midi in the UI. The use can provide the script to take the input data to control OBS in which ever way they see fit. It works beautifully already but I need input from users. Especially on what the scripting should look like.

This screenshot give you some idea what I am talking about.




The BU0836A is a cheap but high resolution USB board presenting to the computer as a gamepad. I build the shown controller around it. Just some basic wiring. Maybe I should post this in a separate thread, I don't know.


----------



## fenderjose (Apr 11, 2020)

Claire Matthews said:


> Thank you for this. I have successfully set up obs-websocket, port forwarding, dynamic dns, and t2t2's obs tablet remote so that I can control my stream from anywhere. It was surprisingly easy to do!
> 
> Now my question is - I see reference to password protection, but how do I actually set that up?


I really would love to know how you did this.  I need to control a stream at another location and not sure how to connect.  How much of it involves jumping in to the routers?


----------



## touch_portal (Apr 29, 2020)

We created a Valorant Pack for Touch Portal what uses Palakis Web Socket.
Thanks for all your work!


----------



## cvhvisuals (May 1, 2020)

hello! Does anyone have an example how I can receive timecode using css, html, java?
I am trying to figure how to translate the call from:
 obs.send.GetStreamingStatus, time-code
Thanks in advance


----------



## cvhvisuals (May 2, 2020)

I figured out how to display the timecode in HTML, js.

The timecode comes into the page, yet only updates on launch. 
I am assuming that the SetHeartbeat as a function would keep it alive with pulse?
How would I implement that into the timecode function I have made?

For anyone interested this is the app I am working on for Mac and iOS


----------



## Gac400 (May 2, 2020)

bellissima .... potrei avere la versione mac?


----------



## Tonny (May 2, 2020)

Do you know when the 4.8 version will be released?


----------



## cvhvisuals (May 5, 2020)

I do not know when it will be release. There was a bug with the ToggleStudioMode command that the update fixed for my app creation.


----------



## Pingua2311 (May 10, 2020)

Yurlyn said:


> Never mind, I've managed to track down the issue by comparing and deleting and re-instantiating dll files and it was as I suspected, a conflict with another dll. It was Qt5Network.dll located in bin/64bit) which was put there in 2015... xD
> 
> I now have it working ^^


Im having the same issue... it doesnt appear on tools, what do i have to do? Please helpppp


----------



## WavingADime (May 12, 2020)

I am anxious for a couple of fixes that are closed and would be included in 4.8, but no release yet that I have seen.  I "tried" to look at Build Instructions, but QT libs are no longer exactly as noted and I didn't even try to create an OBS SDK environment.  A true Dev, I am not.  Any word on 4.8 release, or is there a way to compile myself - I just need a few hints to get the environment established?


----------



## timoelliott (May 13, 2020)

I'm using a version of OBS Studio I built using these instructions: https://github.com/johnboiles/obs-mac-virtualcam, because I wanted to use the mac virtual webcam (and it works!). But I have no idea what I was actually doing :-) -- and I can't seem to get the plugin to load (latest OBS Studio, latest version of the plugin) -- here's the log file:

07:33:35.205: os_dlopen(/Library/Application Support/obs-studio/plugins/obs-websocket/bin/obs-websocket.so->/Library/Application Support/obs-studio/plugins/obs-websocket/bin/obs-websocket.so): dlopen(/Library/Application Support/obs-studio/plugins/obs-websocket/bin/obs-websocket.so, 257): Library not loaded: @rpath/QtWidgets
07:33:35.205:   Referenced from: /Library/Application Support/obs-studio/plugins/obs-websocket/bin/obs-websocket.so
07:33:35.205:   Reason: image not found
07:33:35.205: 
07:33:35.205: Module '/Library/Application Support/obs-studio/plugins/obs-websocket/bin/obs-websocket.so' not loaded

 -- is there any easy way to point @rpath/QtWidgets where it's supposed to be pointing (here, maybe? /usr/local/Cellar/qt/5.14.2/lib/QtWidgets.framework/Versions/5/Headers/5.14.2/QtWidgets). 

[and I have the same error for the obs ndi plugin]

Thanks!


----------



## cvhvisuals (May 17, 2020)

Is there a way to convert or subtract the decimal values coming from the stats (ex. fps, cpuUsage, diskSpace, etc.)?
Any help is appreciated!

Also is there a slack channel or discussion page regarding obs-websocket?


----------



## Palakis (May 27, 2020)

Palakis updated obs-websocket - Remote-control OBS Studio from WebSockets with a new update entry:

obs-websocket 4.8



> *Only use this release with OBS Studio 25 or above!
> 
> Changes since 4.7.0
> 
> ...



Read the rest of this update entry...


----------



## bigjim (Jun 2, 2020)

Hi, is there a means to access input/output audio meter data?

Thanks!


----------



## tiptronic (Jun 27, 2020)

Palakis said:


> This is currently a Work In Progress. It will probably make its way into OBS in obs-websocket 4.9 (two releases from now).


Speaking about 'dynamically create and modify a subscene to use as an overlay for the real scene' (above):

Does this allow to add a Browser-Source *virtually* (e.g. by passing in an HTML-structure or string-literal), without the need to add an actual file?


----------



## _Robbie (Jul 4, 2020)

Can I use the socket to preview on a tablet or laptop?


----------



## dwalker (Jul 24, 2020)

Hello, i would like to know if have someway to animate the filter in the websocket?


----------



## JuanLiempo (Aug 19, 2020)

I read that this was supposed to be fixed, but i'm running into the issue of obs freezing when I switch scene collections. 

Basically when I change scene collections, its freezes (the window goes opaque and it says "(not responding)" on the title bar).
I've tried waiting and nothing happens, then I end up having to X out and then close OBS when prompted.
After I restart obs I'm on the original scene collection.
But if i uninstall obs websocket and then restart obs, I am able to switch scene collections without any issue.

Latest version of OBS and websocket plugin.

Need some guidance, because i definitely make use of obs websocket since i'm using programs that require it to sync with obs. 

Was just trying to clean up my scene list by separating things into there own collections and reduce some of the clutter.

thanks in advance for any help.


----------



## Tormy (Aug 22, 2020)

cvhvisuals said:


> I figured out how to display the timecode in HTML, js.
> 
> The timecode comes into the page, yet only updates on launch.
> I am assuming that the SetHeartbeat as a function would keep it alive with pulse?
> ...


This is really great!!!


----------



## Tormy (Aug 22, 2020)

Please anyone knows how to use this websocket under windows?
I know it exists t2t2.But the GIT's code, needs to be built etc. I would need to use it without strange passages just copy-paste the code somewhere and use it.

Thank you


----------



## bcoyle (Sep 8, 2020)

cvhvisuals said:


> I figured out how to display the timecode in HTML, js.
> 
> The timecode comes into the page, yet only updates on launch.
> I am assuming that the SetHeartbeat as a function would keep it alive with pulse?
> ...


Is this released and if so, where is it. Is it open source. Would love to see your code. I love the way you did the UI. It takes a lot of work to do a good UI


----------



## sharin974 (Sep 9, 2020)

JuanLiempo said:


> I read that this was supposed to be fixed, but i'm running into the issue of obs freezing when I switch scene collections.
> 
> Basically when I change scene collections, its freezes (the window goes opaque and it says "(not responding)" on the title bar).
> I've tried waiting and nothing happens, then I end up having to X out and then close OBS when prompted.
> ...


 I have the same issue with trying to test the obs 26 but no problem using stable-obs 25, so did you use obs stable version ? 

I would like to know if any other people have try obs 26 and having trouble with websocket-plugin and if there anyway to help to debug it before the official realease of obs 26.


----------



## thotoharris (Sep 18, 2020)

Everytime i close my OBS (version 25.0.8), i have a crash message, it really get into my nerves... any tips on how to solve it? (Using windows 10)


----------



## Tormy (Sep 21, 2020)

thotoharris said:


> Everytime i close my OBS (version 25.0.8), i have a crash message, it really get into my nerves... any tips on how to solve it? (Using windows 10)


I got the same several times


----------



## kineticscreen (Sep 30, 2020)

Is there any idea when the extra media playback triggers will be rolled out in the next version of obs-websockets?


----------



## Vitalicus (Oct 12, 2020)

What is the JSON code for hide the scene (source)?


----------



## Vitalicus (Oct 21, 2020)

Or JSON to change filter settings?


----------



## bcoyle (Oct 23, 2020)

I have a request. I'm writing an ap in visual basic and mostly have to roll my own. In the github documentation it talks about the password handshake and what you have to do. If you could expand that little section at the start to show at least one set of responses so that people in general have a way to test their software. Thanks in advance


----------



## Vitalicus (Oct 24, 2020)

why this value with zero on volume?


----------



## tanks (Oct 25, 2020)

Bonjour a tous je suis français je parle tres mal anglais j en suis désoler ; j ai un soucis je suis un petit streamer j ai fait l acquisition d un stream key qui est en faite un controler midi de marque akai apc mini j ai le logiciel controleur midi je suis sur obs studio avec le plugin websoket mes cela ne fonctionne plus je ne comprend pas pourquoi mon obs me met une erreur 400 si cela peut aider si ce n es cela tout fonctionner parfaitement jusqu il y a une quinzaine de jour le midi control ne se connecte plus a obs ? je vous envois des screen qui seront je l espere plus explicite dans l attente cordialement . tanks


----------



## EmersonMc (Oct 28, 2020)

Hi
Do you have any plans to enable a command to turn on / off the virtual camera?


----------



## ContentDeveloper (Nov 13, 2020)

Is there any way to start/stop the auto-switching of Advanced Scene Switcher?


----------



## theselby (Nov 17, 2020)

Hello,

Any way to replace a dshow_input's video device via this WS plugin?

P.S. Thanks for the nice work


----------



## wouterrrfm (Nov 17, 2020)

Hi, i'm new to OBSCommand. I'm trying to switch my obs scenes remotely, with an batch file op pc a (to switch pc b). But it's not working. Where do I need to run the .exe file? Server or client? And what do I have to do with it? If I press any key, nothing happens and after 3 times the batch is closing.

I'm trying to implement this code: OBSCommand.exe /server=192.168.188.14:4444 /scene=bars

Thanks in advance!

Wouter


----------



## ContentDeveloper (Nov 17, 2020)

ContentDeveloper said:


> Is there any way to start/stop the auto-switching of Advanced Scene Switcher?



Bump?

This should not be hard to add.


----------



## theselby (Nov 18, 2020)

Vitalicus said:


> What is the JSON code for hide the scene (source)?


I guess it's the RENDER property (makes the item render or not in the main scene - which is be visible or hidden)


----------



## lpettipa (Nov 21, 2020)

Looking for help using obswebsocket, programing with Powershell on W10.  I can figure out the basic commands, but i really need to see an example code of how SetStreamingSettings  is used.  I'm trying to set the stream info prior to starting the stream.  Any help would be much appreciated.


----------



## karelhuis (Nov 21, 2020)

Hi Wouter, same here. would love to know how to fix this. Would like to control OBS with streamdeck on another pc in the same network


----------



## DF3EI (Nov 25, 2020)

Hi, I am using this great plugin to control OBS for use in an Amateur Television repeater. I have started to write a client library in C# for that purpose. It is not complete, but I am getting there. What I haven't figured out is the "geometry" object that is being passed around in some calls. I only ever see the resulting Base64 serialised string, but what does the object look like that is being serialised? Thanks for any hints...


----------



## bcoyle (Dec 1, 2020)

DF3EI said:


> Hi, I am using this great plugin to control OBS for use in an Amateur Television repeater. I have started to write a client library in C# for that purpose. It is not complete, but I am getting there. What I haven't figured out is the "geometry" object that is being passed around in some calls. I only ever see the resulting Base64 serialised string, but what does the object look like that is being serialised? Thanks for any hints...


What is a Amateur Television Repeater ? Is it just re transmitting some yourtube live event?


----------



## m3kili3 (Dec 8, 2020)

Plugin does not show up in tools on UBUNTU.  It is installed and I can find the file location but it doesn't show up on OBS at all.  You should learn how to program, this is garbage.


----------



## ognjent (Dec 8, 2020)

Hi, is it possible to remotely trigger recording from 1pc or mobile device multiple instances of OBS running on multiple PCs?


----------



## bcoyle (Dec 9, 2020)

ognjent said:


> Hi, is it possible to remotely trigger recording from 1pc or mobile device multiple instances of OBS running on multiple PCs?


I know that there is a command line tool, so maybe using it and a list of ip addresses in a script would do??? One script to turn them all on, and one to turn off. Don't know much about that, so you will have to do your own research. Maybe someone else on this stream knows the answer


----------



## manouchk (Dec 17, 2020)

Today, I tried the app Outfield avalaible in F-droid (not os well known) depository of android app. It is a remote controle that works like a charm  with obs-websocket. I do recommend it. I just tested starting and stopping but it seems to be able to switch between different scenes too.









						Outfield | F-Droid - Free and Open Source Android App Repository
					

Remote control for Open Broadcaster Software (OBS).




					f-droid.org
				











						Matthew / Outfield · GitLab
					

Simple OBS remote controller for Android using the OBS Websocket plugin.




					gitlab.com
				



For who may not know F-droid: In order to install outfield. Install first f-droid and then from f-droid, you can install outfield.


----------



## UWSCIA (Dec 18, 2020)

@Palakis, I'm unable to use password with my project...


```
secret_string = pwd . salt
secret_hash = SHA256(secret_string)
secret = Base64(secret_hash)

auth_responce_string = secret . challenge
auth_hash = SHA256(auth_responce_string)
auth_responce = Base64(auth_hash)

this.Send("{""request-type"":""Authenticate"",""auth"":""" . auth_response . """,""message-id"":""123""}")
```

Can't figure out where the issue is.


----------



## bcoyle (Dec 18, 2020)

UWSCIA said:


> @Palakis, I'm unable to use password with my project...
> 
> 
> ```
> ...


I'd like to know also


----------



## UWSCIA (Dec 18, 2020)

I turned on logging, but not sure where it's outputting to...


----------



## UWSCIA (Dec 18, 2020)

OMG, finally got it working...


```
secret_string := this.pwd . Data["salt"]
secret := Crypt.Hash.String("SHA256", secret_string,, "base64")
auth_response_string := secret . Data["challenge"]
auth_response := Crypt.Hash.String("SHA256", auth_response_string,, "base64")
```


----------



## bcoyle (Dec 19, 2020)

UWSCIA said:


> OMG, finally got it working...
> 
> 
> ```
> ...


could you show the complete code so that I could copy it. including library imports etc. Thank you so much.


----------



## bcoyle (Dec 20, 2020)

Here is my visual basic code for the same thing. Tried, tested and found good.


    ' ====================================================================================================

    'Imports System.Security.Cryptography   <- visual basic import statement

    Public Function SHA256_base64(ByVal Content As String) As String
        Dim MoleCul3 As New Security.Cryptography.SHA256CryptoServiceProvider
        Dim ByteString() As Byte = System.Text.Encoding.ASCII.GetBytes(Content)
        ByteString = MoleCul3.ComputeHash(Bytestring)
        Dim finalstring As String
        finalstring = Convert.ToBase64String(Bytestring)
        Return finalstring
    End Function



    ' Create the obs authenticate string
    Public Function create_OBS_password_auth_challenge(password As String, Salt As String, challenge As String) As String
        Dim secret_string As String
        Dim auth_response_string As String
        Dim secret As String
        secret_string = password & Salt
        secret = SHA256_base64(secret_string)    'generate base 64 string - hashed
        auth_response_string = SHA256_base64(secret & challenge)
        Return auth_response_string
    End Function

I appreciate all the work that everyone does, so am glad to payback. You can convert the code to C# if you want.


----------



## bcoyle (Dec 20, 2020)

bcoyle said:


> Here is my visual basic code for the same thing. Tried, tested and found good.
> 
> 
> ' ====================================================================================================
> ...



you need Imports System.Text als


----------



## bcoyle (Dec 20, 2020)

sorry -  you need Imports System.Text


----------



## UWSCIA (Dec 20, 2020)

the "library" was the "KEY" issue, so showing my unique use case would be of no help...

You just need to use a library that can handle "HASH SHA256" and the "Base64"... My issue was my library was outdated.


----------



## bcoyle (Dec 21, 2020)

Yeah, I had to go to several places to get the libs and base64. Just thought it helpful to mention my solution.


----------



## Aflynn1 (Dec 30, 2020)

Can anyone help? I'm a reasonably intelligent NON coder. I mean, I don't honestly understand half of what is above in this thread, but I generally am better at using tech than most of my co-workers. That said, I desperately need the websocket plugin to work. and it won't. I've downloaded it, followed the directions and used the installer. It SAYS it's installed, but there's no option under Tools at all. I've closed and re-opened OBS. I've restarted the computer. I've re-installed the plug-in multiple times. I'm completely stumped...please, suggestions, advice, step by step instructions? You're welcome to assume I know virtually nothing.  We use OBS to do daily broadcasts and the plugin is to facilitate remote switching, which is going to save my sanity...assuming I can make it work!


----------



## bcoyle (Dec 30, 2020)

Aflynn1 said:


> Can anyone help? I'm a reasonably intelligent NON coder. I mean, I don't honestly understand half of what is above in this thread, but I generally am better at using tech than most of my co-workers. That said, I desperately need the websocket plugin to work. and it won't. I've downloaded it, followed the directions and used the installer. It SAYS it's installed, but there's no option under Tools at all. I've closed and re-opened OBS. I've restarted the computer. I've re-installed the plug-in multiple times. I'm completely stumped...please, suggestions, advice, step by step instructions? You're welcome to assume I know virtually nothing.  We use OBS to do daily broadcasts and the plugin is to facilitate remote switching, which is going to save my sanity...assuming I can make it work!


Well, not a expert. Web socket requires the latest version of obs, so if working with an older copy may be the problem. Putting it in the correct place. Also don't know if 32 or 64 bit matters.


----------



## bcoyle (Dec 30, 2020)

Also you might want to come over to 





						Automate 24/7 Stream for a scheduled Playlist
					

Hi, What is the best workflow to automate obs streaming a scheduled playlist Hi,  What is the best workflow to automate obs streaming a scheduled playlist that will be managed by an in-house application, I did a workaround by adding a scene with vlc source form a directory and I tried to drop...




					obsproject.com
				




Which is a forum on 24/7 broadcast streaming


----------



## Aflynn1 (Dec 31, 2020)

I'm running the newest OBS (in fact downloaded fresh this morning just in case something was corrupted somewhere) and show the extension: 



I'm totally at a loss. Even spoke with the developer of the OBSwitcher app. He's investigating but likewise doesn't have a ready answer.  

And please - please - don't wish 24/7 on me!!!  2021 has to be better, right?


----------



## Aflynn1 (Dec 31, 2020)

Aflynn1 said:


> I'm running the newest OBS (in fact downloaded fresh this morning just in case something was corrupted somewhere) and show the extension: View attachment 65254
> 
> I'm totally at a loss. Even spoke with the developer of the OBSwitcher app. He's investigating but likewise doesn't have a ready answer.
> 
> ...


----------



## Aflynn1 (Dec 31, 2020)

I wanted to post SUCCESS! Hopefully.  

I had been considering the idea that OBS wasn't finding the plug in - maybe installed somewhere obscure - but hadn't succeeded in finding the .dll. I found it, and oddly, it had its own program folder, apart from OBS. I copied the files and dropped them into the subfolder for OBS plugins.  VOILA - it appears to be working. True test will be when I'm on site and on the same network to see if my mobile devices will connect.  Fingers cross.

Sometimes I wonder if I had just been born 30 years later...LOL But in the early 80s, Basic and Pascal seemed soooo boring. ;-)


----------



## bcoyle (Dec 31, 2020)

Aflynn1 said:


> I'm running the newest OBS (in fact downloaded fresh this morning just in case something was corrupted somewhere) and show the extension: View attachment 65254
> 
> I'm totally at a loss. Even spoke with the developer of the OBSwitcher app. He's investigating but likewise doesn't have a ready answer.
> 
> And please - please - don't wish 24/7 on me!!!  2021 has to be better, right?


Maybe in the wrong place. If you don't see a bunch of other plugins, then wrong place. It should be c:\program_Files\obs_studio\obs_Studio_Plugins\64bit




Should have lots of plugins like this





Why not 24/7 - It does require lots of material.


----------



## authorleon (Jan 19, 2021)

Hello. I am using the latest version of obs with LioranBoard. 

When I close down OBS and LioranBoard is active. OBS crashes:

000000F5A87FE770 00007FF979A7A39D 000002E200000000 00007FF900000000 00007FF97A997CF8 000002E28B7CE970 qt5core.dll!0x7ff979a7a39d

But if I close LioranBoard  first and then close down OBS. It closes perfectly. 

Please help. 

Thanks


----------



## Fraggle69 (Jan 19, 2021)

Hi I wonder if someone could assist.  I have websockets running on OBS, it's a linux install and I can recall presets using the companion platform.  However, the commands available in the companion instance are limited and I do have the option to use HTTP POST, GET etc.  I was hoping someone could post a string example, to recall a scene maybe?  I should be able to work out the rest from there.  Ideally, I am looking for the command that will allow me to switch scene collections by name.  I can see it's supported in websockets API, I am just at a loss as to what the string format should be.  If anyone can assist, that would be epic.  I've put in a request to companion to add this feature, so I am sure it'll come in time, in the meantime I remain puzzled. :) TIA


----------



## bcoyle (Jan 19, 2021)

Fraggle69 said:


> Hi I wonder if someone could assist.  I have websockets running on OBS, it's a linux install and I can recall presets using the companion platform.  However, the commands available in the companion instance are limited and I do have the option to use HTTP POST, GET etc.  I was hoping someone could post a string example, to recall a scene maybe?  I should be able to work out the rest from there.  Ideally, I am looking for the command that will allow me to switch scene collections by name.  I can see it's supported in websockets API, I am just at a loss as to what the string format should be.  If anyone can assist, that would be epic.  I've put in a request to companion to add this feature, so I am sure it'll come in time, in the meantime I remain puzzled. :) TIA


Hi.Attached is two jpegs. One is the view of what I send for a scene change with a formatted view showing what I send and the other is the real string I send. Th message-id in this example is set to 3025 which is what I use to decode any answer coming back. You can put anything in message id to help you decode the answer. I'm using visual basic here so this is where the windows come from. Hope this helps


----------



## bcoyle (Jan 19, 2021)

Please be aware, the command is CASE SENSITIVE. I have a function that puts it all together. Example:        

last_Serialized_request = OBS_Support.Simple_Request_Using_Param_Pairs(Req, Message_id, Param_1_name, value)   'serialize it - obs format for a simple request. 

Req is "SetCurrentScene", message_id = "3025" or whatever you want and param_1 = "scene-name" and value = "VIEW_BLACK"

This is a function I coded, so will not find it by googling. Also have a version that does 2 and 3 pairs of parameters. You have to code this yourself. I put them into a class and then use a JSON serializer to convert the class into a json message.


----------



## Fraggle69 (Jan 19, 2021)

bcoyle said:


> Please be aware, the command is CASE SENSITIVE. I have a function that puts it all together. Example:
> 
> last_Serialized_request = OBS_Support.Simple_Request_Using_Param_Pairs(Req, Message_id, Param_1_name, value)   'serialize it - obs format for a simple request.
> 
> ...



That makes sense, I've got two fields to fill out in companion software.  One is URL which I thought would just be the IP address and port, the second is json body.  It makes sense to me that the code {"request-type":"SetCurrentScene","message-id":"3025","scene-name":"violin"} fits within the json body.  Clearly I am way off.


----------



## bcoyle (Jan 20, 2021)

Hope that helped you. I struggled a lot at first figuring some of these things out. Took a little bit to get the authentication right also. You set up the websocket, get the connection. Do authenticate if needed. then you can send your message. Obs will return the same message with status field set or error or not. When you change the source for a scene, you get a boatload of messages back. There are some command line apps in this forum. You might try them ?????? Have never used linux so can't help you much there.


----------



## Technologywell (Jan 27, 2021)

bwanden said:


> I love using this plugin for running my black magic ATEM in tandem with OBS!
> 
> I wanted to report an issue (not sure if its just happening to me) but if I have companion open before opening OBS, none of my commands work after loading OBS downloading gta 5 game and I never get an alert saying that the websocket is connected. I have to manually close and re-open companion before it will recognize that OBS is open.
> 
> Anyone know if there's a good workaround?



  This has been adressed and will be released in obs-websocket 4.8 (the next release)


----------



## tinodo (Jan 27, 2021)

I am using the "Dynamic Delay" plugin (source). Operations on that plugin are triggered only through Hotkeys. Can we send these hotkeys through websockets? (I see _TriggerHotkeyByName _is listed as "Unreleased"). Or is there another way to execute such an action through websockets?


----------



## demzou (Feb 3, 2021)

tinodo said:


> I am using the "Dynamic Delay" plugin (source). Operations on that plugin are triggered only through Hotkeys. Can we send these hotkeys through websockets? (I see _TriggerHotkeyByName _is listed as "Unreleased"). Or is there another way to execute such an action through websockets?



I have the exact same question. Using Hotkeys with the Move Transition plugin and I would need to trigger via WebSocket instead. Does anyone know if there's a workaround? Many thanks!


----------



## Exeldro (Feb 10, 2021)




----------



## bcoyle (Feb 10, 2021)

Exeldro said:


>


Thank you for the update.


----------



## itscrash (Feb 10, 2021)

Hi. Was checking my logs today and noticed this. Not sure why. I've never connected to FFZ



CONSOLE: %cFFZ [%csocket%c]:%c (source: https://cdn.frankerfacez.com/static/avalon.eff7a87081290a7c4bf8.js:2)
15:53:56.432: obs-browser[3]: CONSOLE: WebSocket connection to 'wss://pog.frankerfacez.com/' failed: Error in connection establishment: net::ERR_CONNECTION_TIMED_OUT (source: https://cdn.frankerfacez.com/static/avalon.eff7a87081290a7c4bf8.js:2)
15:53:56.432: obs-browser[3]: CONSOLE: %cFFZ [%csocket%c]:%c (source: https://cdn.frankerfacez.com/static/avalon.eff7a87081290a7c4bf8.js:2)
15:54:08.433: obs-browser[3]: CONSOLE: %cFFZ [%csocket%c]:%c (source: https://cdn.frankerfacez.com/static/avalon.eff7a87081290a7c4bf8.js:2)
15:54:08.899: obs-browser[3]: CONSOLE: WebSocket connection to 'wss://tuturu.frankerfacez.com/' failed: Error during WebSocket handshake: Unexpected response code: 503 (source: https://cdn.frankerfacez.com/static/avalon.eff7a87081290a7c4bf8.js:2)
15:54:08.899: obs-browser[3]: CONSOLE: %cFFZ [%csocket%c]:%c (source: https://cdn.frankerfacez.com/static/avalon.eff7a87081290a7c4bf8.js:2)
15:54:21.900: obs-browser[3]: CONSOLE: %cFFZ [%csocket%c]:%c (source: https://cdn.frankerfacez.com/static/avalon.eff7a87081290a7c4bf8.js:2)
15:54:24.498: obs-browser[3]: CONSOLE: %cFFZ [%csocket%c]:%c (source: https://cdn.frankerfacez.com/static/avalon.eff7a87081290a7c4bf8.js:2)
15:54:26.425: obs-browser[3]: CONSOLE: %cFFZ [%csocket%c]:%c (source: https://cdn.frankerfacez.com/static/avalon.eff7a87081290a7c4bf8.js:2)
15:54:26.425: obs-browser[3]: CONSOLE: %cFFZ [%csocket%c]:%c (source: https://cdn.frankerfacez.com/static/avalon.eff7a87081290a7c4bf8.js:2)
15:54:26.425: obs-browser[3]: CONSOLE: %cFFZ [%csocket%c]:%c (source: https://cdn.frankerfacez.com/static/avalon.eff7a87081290a7c4bf8.js:2)
15:54:26.425: obs-browser[3]: CONSOLE: %cFFZ [%csocket%c]:%c (source: https://cdn.frankerfacez.com/static/avalon.eff7a87081290a7c4bf8.js:2)


----------



## Palakis (Feb 11, 2021)

Palakis updated obs-websocket - Remote-control OBS Studio from WebSockets with a new update entry:

obs-websocket 4.9.0



> *Only use this release with OBS Studio 26 or above!
> 
> Changes since 4.8.0
> 
> ...



Read the rest of this update entry...


----------



## iSvein (Feb 11, 2021)

authorleon said:


> Hello. I am using the latest version of obs with LioranBoard.
> 
> When I close down OBS and LioranBoard is active. OBS crashes:
> 
> ...


Check if it still happens with the latest websocket update, 4.9.
Looks like this has been fixed now.


----------



## coRpSE (Feb 12, 2021)

Okay, I just updated this script using the _obs-websocket-4.9.0-Windows-Installer.exe_, I am running the latest version of OBS, but I have noticed when I go into *OBS->Tools->WebSockets Server Settings*, that I am unable to change the password. There is something there by default, 8 characters, but I don't know what it is. When I type something new in there and click "OK", it doesn't save. Any idea's?


----------



## iSvein (Feb 13, 2021)

coRpSE said:


> Okay, I just updated this script using the _obs-websocket-4.9.0-Windows-Installer.exe_, I am running the latest version of OBS, but I have noticed when I go into *OBS->Tools->WebSockets Server Settings*, that I am unable to change the password. There is something there by default, 8 characters, but I don't know what it is. When I type something new in there and click "OK", it doesn't save. Any idea's?


You need to click on the box above the password box to enable password to be able to set your own password :) 
By default password is disabled.


----------



## coRpSE (Feb 14, 2021)

iSvein said:


> You need to click on the box above the password box to enable password to be able to set your own password :)
> By default password is disabled.



I know that, :P
You can't even target the password text box without that checkbox checked. ;)
What I am saying that it does not save. Below is a link to an animated GIF that shows that there is something in there, but when I type in there to change it to something that I actually know, it will not save, it just defaults to the 8 characters.

https://www.headshotdomain.net/modules/Image_Repository/files/10002/pM2PW0xH4D.gif

I have tried using shorter passwords, larger passwords like I did in that animation, I tried alphanumerical, just numbers, just letters, caps and no caps, and a mix of caps and alphanumerical, and nothing worked. It just won't let me change the password. As for the password that is in there, I do not know what it is because I did not enter a password when I installed this.


----------



## iSvein (Feb 14, 2021)

coRpSE said:


> I know that, :P
> You can't even target the password text box without that checkbox checked. ;)
> What I am saying that it does not save. Below is a link to an animated GIF that shows that there is something in there, but when I type in there to change it to something that I actually know, it will not save, it just defaults to the 8 characters.
> 
> ...


aha! That I had to test for myself.
Well, same happens here, but the long password I typed works. 
No idea why the window resets the number of dots/stars, but here the password works.
Have you tested the password on a client side?


----------



## coRpSE (Mar 2, 2021)

iSvein said:


> aha! That I had to test for myself.
> Well, same happens here, but the long password I typed works.
> No idea why the window resets the number of dots/stars, but here the password works.
> Have you tested the password on a client side?


Not sure what you mean. I don't know what the password is to test it. Like mentioned before, when I installed it, I skipped the syep for setting a password because I was just testing something and I was going to add it in later. So what's there, I have no idea. Mostly, I was just pointing out the bug so it could be fixed.


----------



## iSvein (Mar 2, 2021)

coRpSE said:


> Not sure what you mean. I don't know what the password is to test it. Like mentioned before, when I installed it, I skipped the syep for setting a password because I was just testing something and I was going to add it in later. So what's there, I have no idea. Mostly, I was just pointing out the bug so it could be fixed.


When I installed OBS WebSocket plugin it did not ask for a password during installation.
What I meant is that the *** (stars) in the password box does not represent the number of characters my password is once the window is locked and reopened.


----------



## johnwry (Mar 7, 2021)

hello, i am wondering if there would be a way to remotely control OBS using powerpoint?


----------



## BOLL (Mar 14, 2021)

Today I got the authentication to work and I can talk to OBS. I could not figure out how to toggle visibility of a source myself, maybe I just suck at reading docs, but a web search later and I end up here, and the below worked!


UWSCIA said:


> Source Visibility... solved myself...
> {
> "source": "%name%",
> "render": false,
> ...


Just that, when I went to my actual scene and tried it, it would not, because the source is in a sub-scene, a scene source if you will. Is it actually possible to reference sources in a sub-scene? I've built my main scene around that so I'm scratching my head.
I tried going into Studio mode and made sure my sub-scene was in the preview, but that did not help.


----------



## bcoyle (Mar 17, 2021)

i use 
"SetSceneItemProperties", Message_ID, "scene-name", Scene_Name, "item", Source_name, "visible", OnOFf)


----------



## Jelt3 (Mar 17, 2021)

Is there anyway to control the Multiple-RTMP plugin using OBS-websocket?
To start/stop individual streams and read their status.


----------



## Alyss.Swanson (Mar 18, 2021)

Please consider adding support for virtual camera control including Starting, Stopping, Pausing, Resuming, and Getting its active state.  Thank you.


----------



## aconn91 (Mar 24, 2021)

Just wanted to say thanks so much for this! It really helped me for a project at new job.


----------



## jemannin (Mar 25, 2021)

Jelt3 said:


> Is there anyway to control the Multiple-RTMP plugin using OBS-websocket?
> To start/stop individual streams and read their status.


I´m also very interested in that! :D
Would be great to use OSC for OBS (is based on obs-WebSocket) with a Multiple-RTMP plugin!


----------



## YOGA47 (Apr 4, 2021)

how do i add 7 sec forward hotkeys on stream deck


----------



## Martyats (Apr 12, 2021)

I've got the password bug too. After upgrading from v. 4.8.0 to 4.9.0 I've lost all Companion /Streamdeck control over OBS. I was not asked to set a password on first use, and I'm not asked for a password on any subsequent loading. I only see password errors in the log. 
Going back to v4.8.0 doesn't work now either.
Need help please!
Thank you


----------



## JohnLaFrance (Apr 12, 2021)

Hello Guys,

sorry if its the wrong thread but one quentin.

If I will use the replay in obs with the websocket. Wich parameter in obs I have to speak on/ to use with websocket?
Wuch Name has the parameter for the replay intern to use it with the websocket?


Thanks for answers


----------



## Barabba (Apr 29, 2021)

Hi! I'm not a web expert, I need to create a simple http static page with some buttons (images), clickin on them I want to change scene, there is any way to sent to websocket the command using "href"? May somebody write here an example? Thank you
like:
<div id="e1" class="cc07">
        <a href="**something here to send to OBS***"> <br>Click here to change shene</a> 
    </div>


----------



## Tim_F (Apr 29, 2021)

Barabba said:


> Hi! I'm not a web expert, I need to create a simple http static page with some buttons (images), clickin on them I want to change scene, there is any way to sent to websocket the command using "href"? May somebody write here an example? Thank you
> like:
> <div id="e1" class="cc07">
> <a href="**something here to send to OBS***"> <br>Click here to change shene</a>
> </div>



You could use Javascript or JQuery to target the button or use on-click function to run your commands.


----------



## Barabba (Apr 30, 2021)

Tim_F said:


> You could use Javascript or JQuery to target the button or use on-click function to run your commands.


Thank you for your kind answer!
I?m totally a beginner in html code, I don't know how and where to place this JQuery, may you kindly write me a small example?
What I need is just a picture, if I press it I'll open another html page and in the same time send the JQuery, something like this:


```
<div id="e0" class="cc08">
        <a curl -XPOST -H "Content-type: application/json" -d '{"scene-name":"Scene2"}' 'http://192.168.24.2:81/emit/SetCurrentScene'>
        <a href="http://192.168.24.2/index.html"><img src="logo.jpg" border="0" alt="Logo" title="Logo"></a>
    </div>
```
Completely wrong I know, I don't know what means <a, how insert a query on the click event, etc ))
Thank you a lot!


----------



## Tim_F (Apr 30, 2021)

You can not run a cURL command from the browser (I believe with node.js you might), but you will have to use an ajax POST request. So using your code above, it would look something like this:

<div id="e0" class="cc08">
    <a href="#" onclick="setCurrentScene('Scene2')">
        <img src="logo.jpg" border="0" alt="Logo" title="Logo">
    </a>
</div>

<script>
    function setCurrentScene(scenename) {
        var url = 'http://192.168.24.2:81/emit/SetCurrentScene';
        var xhr = new XMLHttpRequest();
        xhr.open('POST', url);

        xhr.setRequestHeader("Content-Type", "application/json");

        xhr.onreadystatechange = function () {
            if (xhr.readyState === 4) {
                console.log(xhr.status);
                console.log(xhr.responseText);
            }
        };

        var data = '{"scene-name":"'+scenename+'"}';

        xhr.send(data);
    }
</script>

If you are using PHP then you could use cURL. Just pass the info to php to execute it.

Hope that helps, not enough coffee yet, so I may have left something out, but at least you have somewhere to start with.


----------



## ASchneider (Apr 30, 2021)

Hello guys!

I was wondering: is there an easy way of exposing your OBS/websocket instance to the internet, without having to fiddle with port forwarding your network and so on? Maybe a python script or something that could easily relay it to someone else so they could use a solution like OBS Remote (http://t2t2.github.io/obs-tablet-remote/) to control my scenes and sources? Or maybe dock a web service that could work as some kind of relay to the internet...

It would be great to be able to just create a portable version of a custom OBS with this solution and send to someone else, so it would just work on any local network configuration.

Thanks!


----------



## Tim_F (Apr 30, 2021)

ASchneider said:


> Hello guys!
> 
> I was wondering: is there an easy way of exposing your OBS/websocket instance to the internet, without having to fiddle with port forwarding your network and so on? Maybe a python script or something that could easily relay it to someone else so they could use a solution like OBS Remote (http://t2t2.github.io/obs-tablet-remote/) to control my scenes and sources? Or maybe dock a web service that could work as some kind of relay to the internet...
> 
> ...



If everything is behind your firewall, then you will have to port forward.

If you are running a remote on a web server that is exposed to the outside, and it can communicate to OBS with it internally, then yes it should be possible.


----------



## Barabba (May 1, 2021)

Tim_F thank you from heart, you're really kind to write that script, I haven't imagine it was so complicated to send a string. I really hope this script can be useful to other people, I think to have a simple web page (runnng o all platforms without installing nothing) with photos/icons of different scenes makes very simple to change them, a useful remote. When it will works I'll try to open a project to share it to the community.

I've tested it and unfortunately it doesn't work, I've debug it with a sniffere and I've found this:

The browser send the command but I think it misses the object cotaining scene:
E +q@À¨À¨¦FQ&´ô×P²çOPTIONS /emit/SetCurrentScene HTTP/1.1
Host: 192.168.24.2:81
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0
Accept: */*
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type
Origin: null
Connection: keep-alive

The small http server replies this:
Eâ+v@À¨À¨Q¦F´ô×P²)HTTP/1.1 405 Method Not Allowed
Content-Type: text/plain; charset=utf-8
Allow: POST
Content-Length: 23
Date: Sat, 01 May 2021 09:47:09 GMT
Server: Python/3.8 aiohttp/3.7.4.post0

I'm using:








						GitHub - IRLToolkit/obs-websocket-http: A Python-based program that provides HTTP endpoints for obs-websocket
					

A Python-based program that provides HTTP endpoints for obs-websocket - GitHub - IRLToolkit/obs-websocket-http: A Python-based program that provides HTTP endpoints for obs-websocket




					github.com
				




Here what the author says:


This code contains two request endpoints. /emit/{requesttype} and /call/{requesttype}.



/emit/{requesttype} sends off a websocket event without waiting for a response, and immediately returns a generic {"status":"ok"} json response after sending the event, regardless of whether it errors out on the OBS instance.
/call/{requesttype} Makes a full request to obs-websocket, and waits for a response. The recieved response is then returned to the HTTP caller.

If authentication is set, then each request much contain an AuthKey header with the configured password as the value.


A request type is always required, however a json body depends on the underlying request in obs-websocket as to whether any data is necessary.


For a list of request types, refer to the obs-websocket protocol docs

*Example cURL commands:*


curl -XPOST -H "Content-type: application/json" -d '{"scene-name":"Scene 2"}' 'http://127.0.0.1/emit/SetCurrentScene'
curl -XPOST -H 'AuthKey: agoodpassword' -H "Content-type: application/json" -d '{"scene-name":"Scene 2"}' 'http://127.0.0.1/emit/SetCurrentScene'
curl -XPOST -H 'AuthKey: agoodpassword' -H "Content-type: application/json" 'http://127.0.0.1/call/GetSceneList'


----------



## tt2468 (May 2, 2021)

Martyats said:


> I've got the password bug too. After upgrading from v. 4.8.0 to 4.9.0 I've lost all Companion /Streamdeck control over OBS. I was not asked to set a password on first use, and I'm not asked for a password on any subsequent loading. I only see password errors in the log.
> Going back to v4.8.0 doesn't work now either.
> Need help please!
> Thank you


Does re-entering your password not work? 4.9.0 should not change existing password data.


----------



## tt2468 (May 2, 2021)

ASchneider said:


> Hello guys!
> 
> I was wondering: is there an easy way of exposing your OBS/websocket instance to the internet, without having to fiddle with port forwarding your network and so on? Maybe a python script or something that could easily relay it to someone else so they could use a solution like OBS Remote (http://t2t2.github.io/obs-tablet-remote/) to control my scenes and sources? Or maybe dock a web service that could work as some kind of relay to the internet...
> 
> ...


I made https://github.com/IRLToolkit/obsws-rproxy-client a while ago which would serve this purpose. It works as expected, but I don't have any binaries available. You would have to build the application yourself.


----------



## Barabba (May 8, 2021)

Is anyone interested on use a simple http page to change the scene? (warks in all platform without install nothing)


----------



## ASchneider (May 8, 2021)

Barabba said:


> Is anyone interested on use a simple http page to change the scene? (warks in all platform without install nothing)


Yes, yes and yes haha


----------



## Bavuso (May 17, 2021)

Hi.
I'm trying to make a connection to OBS STUDIO with ESP32.
Has anyone done this?
Can someone help me?
I have basic knowledge of C ++ and ESP

My idea is to use OBS-WEBSOCKET to create a wireless physical STREAM DECK.


----------



## SkiperTheBoss (May 27, 2021)

Hello,

i was wondering if there is any possible to close the Projector?


----------



## Barabba (May 29, 2021)

Bavuso said:


> Hi.
> I'm trying to make a connection to OBS STUDIO with ESP32.
> Has anyone done this?
> Can someone help me?
> ...


Hi, the idea is realy powerful, but it has the disadvantage to realize hardware the consolle, it will take lot of time, I hardly believe someone else after you will realize it. Instead I suggest you to thin about 2 alternative ways:
1) Use a ready consolle, like for DJs, they generally use HID Microsoft compatible joystick interface, you may use an ESP32 to bridge the HID commands to websocket. In thei sway you save time realizing it and you give easier chance to others to take advance of it and eventually help you developing the project.
2) Use instead a tablet to create this layout in touchpad. Sounds easier too, if you can manage the graphical interface.. and no need for hardware


----------



## KAMIGENO (Jun 4, 2021)

Yeah, so, like, after I downloaded and installed this... my OBS stopped being able to connect to Twitch.

It would connect and be green for like 5 seconds... and then afterwards... 0 Kpbs.

I've tried deleting everything related to this thing... but seems like it ain't working.
EDIT: I have quite a few log files from messing about and testing trying to stream. I just ran another test now and will attach the file log of that one, but feel free to ask me to see the others if needed. (Line 377 is where the streaming starts.)

What can I do to fix this?


----------



## KAMIGENO (Jun 4, 2021)

Please ignore and delete this.

I called my ISP and did troubleshooting on my end and it didn't work, so I boiled it all down to obs-websocket being the issue.
However, I re-did all the troubleshooting and that seemed to fix my issue.

Thanks~


----------



## tt2468 (Jun 5, 2021)

SkiperTheBoss said:


> Hello,
> 
> i was wondering if there is any possible to close the Projector?


It is not


----------



## bcoyle (Jun 6, 2021)

Versions : running latest 26 version obs, running 4.9.0 web socket.
Context: I'm writing a 24/7 automated TV app. About 90% done. Working on of course the last 10% which normally takes 90% of the time. So my app when switching from one scene to another, wants to start a video at some inpoint <> 0. I've tried the media controls and they seem to work as advertised, BUT they seem to only work when the scene is visible. If I I use the scrub or timestamp command when the scene is not visible, they don't work. What I'm trying to do is switch into the scene at the in point. If I use the commands as soon as soon as the scene is visible and then use the timestamp.scrub commands, I always see the first frames before the command gets going. If I do them before the scene is visible, they don't work. My current work around is to turn on an overlay with a black jpeg in it to cover up the first few frames, do the command and then wait a certain amount of time (maybe 1 second) and then turn the black jpeg off. I am worried about the delay (1 second) not being enough on a slow computer. I always try to use handshaking, like looking at the media status instead of fixed delays.

Questions:
1. So, am I correct about the media controls not working unless the video is running?
2. If so, in the future will I be about to adjust the in point - offset of a video before switching into it? I know this might not be the web socket problem, but the way obs works.
3. Is there some other way of doing this.
4. Off Hand, is there any messages coming back that the media controls are currently at the correct timestamp (handshaking possibility). I know you get back a response, saying your command is ok, ie status= ok, but is there a "got there" and currently playing where you told be to go message. I can investigate myself, but just thought I'd ask.

Thank you in advance for any clarification or suggestions.


----------



## rssfra97 (Jun 9, 2021)

Good morning,
i can't figure out what is the method to find all audio sources (such as OBS audio mixer) to control the volume and mute or mute, can anyone help me?

I looked here and tried many methods, but nothing https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md


----------



## OpenSUSEuser88 (Jun 9, 2021)

Hello everyone, i need to control obs from an external control device like kramer sl-240c and/or via a Symetrix RadiusNX, the question is how many simultaneus connections can be with websocket?






						SL-240C
					






					www.kramerav.com
				







__





						Radius NX – Symetrix
					






					www.symetrix.co


----------



## bcoyle (Jun 9, 2021)

rssfra97 said:


> Good morning,
> i can't figure out what is the method to find all audio sources (such as OBS audio mixer) to control the volume and mute or mute, can anyone help me?
> 
> I looked here and tried many methods, but nothing https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md


The easiest way is that you already know the names of your sources. The following command will control a source. In this example the source name is "BLACK_BLACK", you are using decibels setting to -3 .

{"request-type":"SetVolume","message-id":"67","source":"BLACK_BLACK","volume":-3.0,"useDecibel":true}
 -------------------------------------------------------------------------------------
from the manual

*SetVolume*

Added in v4.0.0
Set the volume of the specified source. Default request format uses mul, NOT SLIDER PERCENTAGE.

*Request Fields:*


NameType​Descriptionsource_String_​Source name.volume_double_​Desired volume. Must be between 0.0 and 20.0 for mul, and under 26.0 for dB. OBS will interpret dB values under -100.0 as Inf. Note: The OBS volume sliders only reach a maximum of 1.0mul/0.0dB, however OBS actually supports larger values.useDecibel_boolean (optional)_​Interperet volume data as decibels instead of amplitude/mul.

------------------------------------------------------------------------------------------------

IF YOU WANT A LIST OF SOURCES, use this command

*GetSourcesList*

Added in v4.3.0
List all sources available in the running OBS instance

*Request Fields:*

_No specified parameters._

*Response Items:*


NameType​Descriptionsources_Array<Object>_​Array of sourcessources.*.name_String_​Unique source namesources.*.typeId_String_​Non-unique source internal type (a.k.a kind)sources.*.type_String_​Source type. Value is one of the following: "input", "filter", "transition", "scene" or "unknown"

It's quite a bit of work to decode this

Hope that helps, Bill


----------



## rssfra97 (Jun 10, 2021)

bcoyle said:


> The easiest way is that you already know the names of your sources. The following command will control a source. In this example the source name is "BLACK_BLACK", you are using decibels setting to -3 .
> 
> {"request-type":"SetVolume","message-id":"67","source":"BLACK_BLACK","volume":-3.0,"useDecibel":true}
> -------------------------------------------------------------------------------------
> ...


thanks, I have to take a general line because I am creating a Web app for managing different streaming events and to control them remotely!


----------



## bcoyle (Jun 10, 2021)

rssfra97 said:


> thanks, I have to take a general line because I am creating a Web app for managing different streaming events and to control them remotely!


The other way is to use the source list command and suck in all that info.


----------



## Palakis (Jun 12, 2021)

Palakis updated obs-websocket - Remote-control OBS Studio from WebSockets with a new update entry:

obs-websocket 4.9.1



> *Changes since 4.9.0*
> 
> *New Features*
> 
> ...



Read the rest of this update entry...


----------



## ShaunPond (Jun 12, 2021)

Hi, recently I've stated getting lockups in OBS when using websocket (via BArRaider's StreamDeck plugin) to change profile in OBS. There are two scenarios that I can determine: 1) when the scene change is triggered, nothing happens - i.e., the scene is unchanged. 2) If I establish a new link from the streamdeck plugin to OBS with OBS I see things like this:
09:43:50.972: [obs-websocket] Update << '{"profile":"Hutton","update-type":"ProfileChanged"}'
09:43:50.972: [obs-websocket] Websocket connection with client '[::ffff:127.0.0.1]:51833' closed (disconnected). Code is 1001, reason is: 'Server stopping'
09:43:50.972: [obs-websocket] IO thread exited.

and OBS hangs - I get an hourblass mousepointer and cannot interact with OBS at all. I appreciate that there are three things in play here: OBS itself, websocket and the streamdeck plugin. The other two players have scratched their heads and basically said "we don't think it's our fault". I'm happy to do whatever testing is necessary to try to determine where the problem lies, as i appreciate that this may be an edge case that I'm hitting... Please help  me OBSwan, you're my only hope...


----------



## ShaunPond (Jun 12, 2021)

OBS 27.0.1, Websocket 4.9.1 BTW :)


----------



## Daniel Monsalve (Jun 16, 2021)

tt2468 said:


> I made https://github.com/IRLToolkit/obsws-rproxy-client a while ago which would serve this purpose. It works as expected, but I don't have any binaries available. You would have to build the application yourself.



Hello, you were able to solve the websocket problem, because I have not yet, I think the communication between the port and the Ip of my cell phone is broken.


----------



## Markimoos (Jun 16, 2021)

Hello, I'm using OBS version 25.0.8 and I just installed the websocket version 4.8 that's supposed to be working for OBS Studio 25 or above. Problem is, I can't seem to find the "Websocket Server Settings" option under "Tools". Did I install a wrong websocket version? Any help would be greatly appreciated!


----------



## PeteyGrrr (Jun 17, 2021)

I have OBS 27.0.1 installed on Mint Linux 20. I've d/l'ed 4.9.1-1 but I get this error when I try to install it: "Error: Dependency is not satisfiable: obs-studio (>= 26.1.0)" and I'm at a loss to proceed. Suggestions?


----------



## NicoPlaysThings (Jun 20, 2021)

I am on OBS 27.0.1 while using obs.live and for some reason, after installing obs websocket, it doesn't show up in tools, am I doing something wrong?


----------



## Notinasnaid (Jun 28, 2021)

(Duplicate of post at https://obsproject.com/forum/thread...al-analysis-web-sockets-also-involved.145612/)
I'm not quite sure of the best way to report this crash. I have done a certain amount of source code analysis, and it seems to lie in a grey area between OBS itself and the OBS web sockets plug-in, but I'm leaning more towards it being a core OBS issue. The crash has shown itself in the final OBS 26.x and in 27.0 on Mac (M1, Big Sur). It happens during change of Scene Collection. This is what seems to be happening in one particular crash.

- Nothing is written to the OBS log from this point
- The Scene Collection change starts
- All current sources are destroyed. Notifications are sent (from OBS events to OBS web sockets events) showing this has happened.
- About 0.2 seconds pass. The scene collection has not yet loaded and the UI is locked.
- An external app sends a request via OBS web sockets "GetSceneList". It does this every second, so it's likely to hit a lot of scene item collection changes.
- This results in a call to obs_frontend_get_scenes, and this function crashes. Details SYSSEGV, offset + 120 (version 27.0).

I speculate that the data structures in the UI are not in a good state at this point in the scene collection change. It would be better to lock out requests if they are going to cause crashes. Perhaps an event OBS_FRONTEND_EVENT_SCENE_COLLECTION_CHANGING could also be sent; this could also clue in monitor processes to just not bother themselves until OBS_FRONTEND_EVENT_SCENE_COLLECTION_CHANGED is sent, because even if all the requests are ok, there is likely to be a lot of redundant work.

I am working with a customised OBS websockets plug-in and would happily add tests to avoid this problem, but I can't really see what to look for. (The only other plug-in loaded is OBS Audio Monitor).


----------



## enge (Jul 5, 2021)

coRpSE said:


> I know that, :P
> You can't even target the password text box without that checkbox checked. ;)
> What I am saying that it does not save. Below is a link to an animated GIF that shows that there is something in there, but when I type in there to change it to something that I actually know, it will not save, it just defaults to the 8 characters.
> 
> ...



Having 100% the same issue. On Mac, reinstalled obs-websocket pluging with brew. Just going to carry forward developing without password and loop back around when there's an explanation. But I'm also at a loss


----------



## coRpSE (Jul 6, 2021)

enge said:


> Having 100% the same issue. On Mac, reinstalled obs-websocket pluging with brew. Just going to carry forward developing without password and loop back around when there's an explanation. But I'm also at a loss



Okay, I figured it out, well, got it working on my end, sort of. Don't use alphanumeric, just use a string of numbers. Overall, the password should use more than just numbers, it should be alphanumeric along with alt characters if they actually want it to be secured, but for me, I found just doing a string of 10 numbers worked. I don't know the character limit, but I hope that helps.

For the Dev, think about making it at least alphanumeric, and if it is, then, there is a problem


----------



## Technologywell (Jul 18, 2021)

Jaxel said:


> I still think `heartbeat` is a superfluous function. Most of the data in it has been moved to `streamstatus`, which is great. But not everything.
> 
> There are still a few pieces of data that need to get moved over:
> 
> ...


It is indeed a superfluous function. I want to get rid of it, but I don't want to break compatibility with existing applications. I'll get rid of it in 5.0.


----------



## bcoyle (Jul 19, 2021)

One thing that developers fear is depending on a function and then having it disappear, which could cause app failure


----------



## YashinskiDev (Jul 22, 2021)

Hello everyone,

TLDR;
Cant call SetFilenameFormatting and SetRecordingFolder whlile advnced output mode is set.

I have been using this plugin for a while now and it's pretty amazing.
Though I have recently arrived at an "unsurpassable wall" of some sort.
Up until today my setup was using the "Simple" setting at the Settings->Output->Output Mode and I was able to set the recording location and name of my files remotely with ease.
Today, I have decided to update my output to DnxHd, which requires an "Advanced" output mode setting.
Activating this setting prevents me from setting the recording folder and file name remotely.

Am I missing something or should I settle with the "Simple" output mode?

Thanks :)


----------



## William Cadwallader (Jul 22, 2021)

Hello there, 

I have a question about connecting to obs websocket and status information. I'm making a web page that can control scenes from my phone but after a while if the page isn't focussed/active it will disconnect. So as a prevention i have added some code that reconnects every time the page is refocussed just in case. This isn't the most elegant solution as I would rather just check to see if the connection is still active but I'm having trouble with that as well. Now this could be something I have missed but I cant seem to see any method or what have you to check the connection status while using the JavaScript library. I'm looking to basically check the connection is active and if it is then skip trying to connect to it again. Is that possible? If not is it ok to keep making connections to the obs websocket? Like it wont get to the point it will stop working becuase it thinks too many connections are being made? Is there a better way or reconnecting than just using obs.connect again? 

Hope that makes sense!

Thanks a lot in advance :)

All the best, 
Will :)


----------



## Technologywell (Jul 27, 2021)

I'm using this script in my website's page based on LED Grow Lights. Thanks for updating.


----------



## Barabba (Jul 27, 2021)

If it may sound interesting for someone, it's possibile to change scenes from an http page though clicking an http link, I've realized a mosaic on a static web page and I can swtich cameras from any device, by browser.
The client and server (websoket obs) should be present on the same network, or on internet if you properly NAT the websocket port (I suggest you to use higher unknow port namber against attacks.
In the http server there should be placed the websockets client, a .js file, I attach it here. In the html should be present:


```
<!DOCTYPE html>
<html lang="en">
<head>
    <script type="text/javascript" src="http://192.168.24.2/OBS-WebSocket.js"></script>
    <title>WEBSOCKET TEST</title>
</head>


<body>

    <a align="center" href="#" onclick="setCurrentScene('SCENE-NAME-ON-OBS')">TEST</a>

<script>
function setCurrentScene(scenename) {
const obs = new OBSWebSocket();
    obs.connect({address: '192.168.24.2:4444'
    });
    obs.on('ConnectionOpened', () => {
        obs.send('SetCurrentScene', {
                'scene-name': scenename
         });
    });
    }
</script>
</body>
</html>
```


----------



## ContentDeveloper (Jul 27, 2021)

In your example, does “192.168.24.2” represent the server that the HTML is launched from?

if there are any other bits that need to change for MY use, can you change your example to use something like “your_scene_name”, etc?


----------



## Barabba (Jul 28, 2021)

ContentDeveloper said:


> In your example, does “192.168.24.2” represent the server that the HTML is launched from?
> 
> if there are any other bits that need to change for MY use, can you change your example to use something like “your_scene_name”, etc?


Hi, yes, it's web server (I use "small server") and also runs OBS with Websockets running on port 4444


----------



## GawShlogen (Aug 2, 2021)

Is there any way to interact with *scene items (sources*) that are *[inside a group]* using obs websocket?


----------



## oosman (Aug 4, 2021)

coRpSE said:


> I know that, :P
> You can't even target the password text box without that checkbox checked. ;)
> What I am saying that it does not save Descargar Whatsapp Aero APK. Below is a link to an animated GIF that shows that there is something in there, but when I type in there to change it to something that I actually know, it will not save, it just defaults to the 8 characters.
> 
> ...


 I copied the files and dropped them into the subfolder for OBS plugins. VOILA - it appears to be working. True test will be when I'm on site and on the same network to see if my mobile devices will connect. Fingers cross.


----------



## awezmtv (Aug 11, 2021)

Hello any way of doing a 2 PC setup with the websocket with Loupedeck (LD) Live? no way of putting ip in but it works if OBS is installed on my PC with hte LD plugged into


----------



## Mateusz1990 (Aug 18, 2021)

Hi three,
I have major problem. I run OBS with websocket on windows pc. When I try to execute button in bitfocus companion triggering hotkey (change to scene) OBS crashes, sometimes executes hotkey once then freeze sometimes freeze immediately. I really need this working, do you have any solutions?


----------



## bcoyle (Aug 18, 2021)

Mateusz1990 said:


> Hi three,
> I have major problem. I run OBS with websocket on windows pc. When I try to execute button in bitfocus companion triggering hotkey (change to scene) OBS crashes, sometimes executes hotkey once then freeze sometimes freeze immediately. I really need this working, do you have any solutions?


Hi. This might not apply to you. I'm writing a 3rd party app and have had a number of obs crashes. I experimented and found that if I give a command to change a source (i know you said scene) that obs seems to get busy doing that and if I send another command (over websocket) too soon (within 60ms on my computer) it will crash "sometimes". So, I make sure to space out such commands by at least 100ms. I found that 0 ms , the crash happens (with less trys) quickly, 40ms takes more trys to crash it and 50 even more. Then at 60ms, maybe not at all. So if you are sending multiple commands, then maybe you should space them out. Like I said, this may not apply to you. If your scene is ffmpeg and it is set to release the file when finished, it may be loading the new file, which is where I have trouble.


----------



## Mateusz1990 (Aug 18, 2021)

bcoyle said:


> Hi. This might not apply to you. I'm writing a 3rd party app and have had a number of obs crashes. I experimented and found that if I give a command to change a source (i know you said scene) that obs seems to get busy doing that and if I send another command (over websocket) too soon (within 60ms on my computer) it will crash "sometimes". So, I make sure to space out such commands by at least 100ms. I found that 0 ms , the crash happens (with less trys) quickly, 40ms takes more trys to crash it and 50 even more. Then at 60ms, maybe not at all. So if you are sending multiple commands, then maybe you should space them out. Like I said, this may not apply to you. If your scene is ffmpeg and it is set to release the file when finished, it may be loading the new file, which is where I have trouble.


I'm trying to execute just one command. I tried to offset even that but always crashing. My setup below


----------



## bcoyle (Aug 18, 2021)

Mateusz1990 said:


> I'm trying to execute just one command. I tried to offset even that but always crashing. My setup below


Nice Setup. You Are a sports streamer. 24/7 or just during games?


----------



## Mateusz1990 (Aug 18, 2021)

bcoyle said:


> Nice Setup. You Are a sports streamer. 24/7 or just during games?


Thank you, only during games for one club. Sometimes also company events/ webinars.


----------



## Mateusz1990 (Aug 23, 2021)

Do you have any idea how to search for problem? or how to fix it?


----------



## pietropavan77 (Sep 3, 2021)

I installed websockets but I cannot see it from within OBS 27.0.1.
I installed the last release of websocket 5.0.0.alpha2 from the windows installer... I read all instruction pages, but I cannot seem to identify where I can activate in OBS...
What did I do wrong ?


----------



## tt2468 (Sep 7, 2021)

pietropavan77 said:


> I installed websockets but I cannot see it from within OBS 27.0.1.
> I installed the last release of websocket 5.0.0.alpha2 from the windows installer... I read all instruction pages, but I cannot seem to identify where I can activate in OBS...
> What did I do wrong ?


5.0.0-alpha2 is only meant to be used by developers and requires OBS >= 27.1.0. You should probably download 4.9.1


----------



## tt2468 (Sep 7, 2021)

Notinasnaid said:


> (Duplicate of post at https://obsproject.com/forum/thread...al-analysis-web-sockets-also-involved.145612/)
> I'm not quite sure of the best way to report this crash. I have done a certain amount of source code analysis, and it seems to lie in a grey area between OBS itself and the OBS web sockets plug-in, but I'm leaning more towards it being a core OBS issue. The crash has shown itself in the final OBS 26.x and in 27.0 on Mac (M1, Big Sur). It happens during change of Scene Collection. This is what seems to be happening in one particular crash.
> 
> - Nothing is written to the OBS log from this point
> ...


This is a known issue in the 4.x versions. 4.x's development has ceased. 5.x fixes this, but uses a whole new protocol.


----------



## tt2468 (Sep 7, 2021)

YashinskiDev said:


> Hello everyone,
> 
> TLDR;
> Cant call SetFilenameFormatting and SetRecordingFolder whlile advnced output mode is set.
> ...


Known issue. Will be redesigned in 5.0.0 to work properly.


----------



## tt2468 (Sep 7, 2021)

William Cadwallader said:


> Hello there,
> 
> I have a question about connecting to obs websocket and status information. I'm making a web page that can control scenes from my phone but after a while if the page isn't focussed/active it will disconnect. So as a prevention i have added some code that reconnects every time the page is refocussed just in case. This isn't the most elegant solution as I would rather just check to see if the connection is still active but I'm having trouble with that as well. Now this could be something I have missed but I cant seem to see any method or what have you to check the connection status while using the JavaScript library. I'm looking to basically check the connection is active and if it is then skip trying to connect to it again. Is that possible? If not is it ok to keep making connections to the obs websocket? Like it wont get to the point it will stop working becuase it thinks too many connections are being made? Is there a better way or reconnecting than just using obs.connect again?
> 
> ...


That's a question to ask the developers of the client library you are using. However you could also try to call `GetVersion` as a way of seeing if the connection is responding.


----------



## tt2468 (Sep 7, 2021)

GawShlogen said:


> Is there any way to interact with *scene items (sources*) that are *[inside a group]* using obs websocket?


Not in 4.x versions. Groups are very finnicky and are not officially supported in 4.x In 5.x versions we plan on documenting what can and cannot be done with groups.


----------



## kevmuller (Oct 2, 2021)

pietropavan77 said:


> I installed websockets but I cannot see it from within OBS 27.0.1.
> I installed the last release of websocket 5.0.0.alpha2 from the windows installer... I read all instruction pages, but I cannot seem to identify where I can activate in OBS...
> What did I do wrong ?


im having an issue where its crashing my obs immediately after install, 
the source icons and the view/hide / Lock buttons glitch out and then it all freezes and crashes
anyone experiencing this?

OBSv 27.1.1


----------



## jcsam6289 (Oct 28, 2021)

Im having issue that the websocket was installed and i can't seems to save the password and causing me to can't connect my OBS to my Lioran Board, anyone knows how to solve this?


----------



## djdam (Nov 8, 2021)

Hi,

I am trying to add a webcam source via obs websocket (js) but OBS does not initialize the webcam. I think it's because the webcam needs to be "detected" by OBS first: when I open / close the webcam I created via websockets in OBS, then it shows. But ofcourse I don't want to manually open/close the webcam all the time. Abybody having experience with this? Which websocket calls do I need?


----------



## roman.dusek (Nov 12, 2021)

Hi, we use OBS for youtube streaming, using VLC Video Source containing several videos playing in the loop. I would like to use obs-websocket to monitor it and, in case of failure, start streaming again from the last known position. 

I know how to get:
- list of videos inside VLC Video Source (using GetSourceSettings)
- total length and position inside the video that is currently streaming (using GetMediaDuration and GetMediaTime)
... but I did'n find a way to find out, which video (file) is currently streaming. Is there a way to get this information?

Thank you in advance for any help
Roman


----------



## behnam (Nov 16, 2021)

Is there a way to remotely launch the OBS program if it is closed (upon websocket connection request)?


----------



## BarrySDCA (Nov 28, 2021)

I have a new issue after installing OBS 27.1.3 on Ubuntu 20.04.  This seems to come bundled with OBS Web Sockets, which I have used for quite a while through obs-tablet-remote.

My issue is that once I connect, OBS crashes - it just closes.  No errors, no nothing.  Just closes.

I am prompted for the password, which I enter.  And for a fraction of a second I can see the scenes and such loaded in obs-tablet-remote, but then it says the server is unavailable.  And when I return to the machine, OBS is closed.

logs don't show anything.  just closed.

ideas?

Thank you much


----------



## Treylav (Dec 3, 2021)

I'm trying to connect to obs-websockets using the Python `websockets` library. I'm using the following basic code:

```
import asyncio
import websockets
import logging
import json
logging.basicConfig(level=logging.DEBUG)


async def obs():
    async with websockets.connect(uri='ws://localhost:4444') as websocket:
        await websocket.send(json.dumps({'op':1, 'd':{'rpcVersion':1}}))
        await websocket.recv()
        
asyncio.run(obs())
```
Despite the fact that my connection is successful, I cannot send any message:

```
DEBUG:asyncio:Using proactor: IocpProactor
DEBUG:websockets.client:= connection is CONNECTING
DEBUG:websockets.client:> GET / HTTP/1.1
DEBUG:websockets.client:> Host: localhost:4444
DEBUG:websockets.client:> Upgrade: websocket
DEBUG:websockets.client:> Connection: Upgrade
DEBUG:websockets.client:> Sec-WebSocket-Key: 0Wit8pQW5fvqvCLaS9gX2Q==
DEBUG:websockets.client:> Sec-WebSocket-Version: 13
DEBUG:websockets.client:> Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
DEBUG:websockets.client:> User-Agent: Python/3.10 websockets/10.1
DEBUG:websockets.client:< HTTP/1.1 101 Switching Protocols
DEBUG:websockets.client:< Connection: Upgrade
DEBUG:websockets.client:< Sec-WebSocket-Accept: qwAVo86irvt4WBvkUUSTgeTlWV4=
DEBUG:websockets.client:< Server: WebSocket++/0.8.1
DEBUG:websockets.client:< Upgrade: websocket
DEBUG:websockets.client:= connection is OPEN
DEBUG:websockets.client:> TEXT '{"op": 1, "d": {"rpcVersion": 1}}' [33 bytes]
DEBUG:websockets.client:< TEXT '{"error":"missing request parameters","status":"error"}' [55 bytes]
DEBUG:websockets.client:= connection is CLOSING
DEBUG:websockets.client:> CLOSE 1000 (OK) [2 bytes]
DEBUG:websockets.client:< CLOSE 1000 (OK) [2 bytes]
DEBUG:websockets.client:= connection is CLOSED
```
What am I doing wrong?
Thanks in advance.


----------



## bcoyle (Dec 3, 2021)

ok, confused. This syntax is version 5. Use of op is now v5 and not released , not currently how v4 works. v5 sends you a hello message (op = 0) with a key. You answer this with op = 1.

v5 sends this hello message on startup:

received from obs with web-socket type v5

{"d":{"authentication":{"challenge":"A6xVgZ4vq+xomYOK0mcWOWT2yl0LwCluUilYUmMgPrA=","salt":"PkWi7lTSowNpbYl7GYT9uF+gMMqBugQ5b5XqBWjxn50="},"obsWebSocketVersion":"5.0.0-622e1c9-git","rpcVersion":1},"op":0}

notice the op = 0

This is my answer back to v5:

{"op":1,"d":{"rpcVersion":1,"authentication":"bbc/RqKhXyz7f3s5h6QmyuesMBEV21/ajCAH5u7W7Wg=","ignoreInvalidMessages":true,"eventSubscriptions":255}}

You see there are more fields. I'm answering the password challenge. Are you really talking to v5 or did you get the wrong library and you should be talking v4.


if obs websocket is happy, it answers with something like this saying it's happy (op=2)

{"d":{"negotiatedRpcVersion":1},"op":2}

Ask yourself this:
1. Are you trying to talk to obs with the new versions of obs-websocket installed
2. Are you using v4 web socket
3. Is your library correct for v4 or v5
4. web sockets v4 does not use OP codes

did that help?


----------



## Treylav (Dec 5, 2021)

bcoyle said:


> ok, confused. This syntax is version 5. Use of op is now v5 and not released , not currently how v4 works.


Yes, you are right, this is the root of the problem. Apparently, at some point I switched to documentation for version 5.x, although I use 4.x.

Thanks for the constructive answer (and very useful plugin)!


----------



## dorian111 (Dec 7, 2021)

Has anyone seen an issue with using scene item visibility?

If I send the following JSON Payload:
{"request-type":"SetSceneItemProperties","message-id":"3025","scene-name":"Scene2","item":"1","visible":"false"}

the scene item visibility is correctly set to "false".  However, if I send:
{"request-type":"SetSceneItemProperties","message-id":"3025","scene-name":"Scene2","item":"1","visible":"true"}

the visibility is not set to true; further, if the item is visible and I send the message with visible set to true, the item visibility is actually set to false.

Has anyone seen this, or does anyone have a potential workaround?


----------



## bcoyle (Dec 7, 2021)

dorian111 said:


> Has anyone seen an issue with using scene item visibility?
> 
> If I send the following JSON Payload:
> {"request-type":"SetSceneItemProperties","message-id":"3025","scene-name":"Scene2","item":"1","visible":"false"}
> ...


I think your answer is that true and false are not strings and therefore not quoted. Numbers are not quoted, along with boolean.Very subtle at times . 
this is what I send and it works fine, notice the false is not quoted.: 
{"request-type":"SetSceneItemProperties","message-id":"69,OVERLAY_LOGO,False","scene-name":"OVERLAY_DESIGNER","item":"OVERLAY_LOGO","visible":false}


----------



## dorian111 (Dec 7, 2021)

Oh boy, that was it.  Thanks so much for the help.



bcoyle said:


> I think your answer is that true and false are not strings and therefore not quoted. Numbers are not quoted, along with boolean.Very subtle at times .
> this is what I send and it works fine, notice the false is not quoted.:
> {"request-type":"SetSceneItemProperties","message-id":"69,OVERLAY_LOGO,False","scene-name":"OVERLAY_DESIGNER","item":"OVERLAY_LOGO","visible":false}


----------



## bcoyle (Dec 7, 2021)

dorian111 said:


> Oh boy, that was it.  Thanks so much for the help.


You are very welcome. But a word to the wise. They are changing the obs-websocket format going from 4 to v5. Really different. So since you are just starting your app, you might want to go with v5. By spring it will be the official standard, and built into obs. Here are some urls that deal with v5. There is also a discord channel for v5.

https://github.com/Palakis/obs-websocket/blob/master/docs/generated/protocol.md                   version 5 spec plus error list
    'https://docs.google.com/spreadsheets/d/1LfCZrbT8e7cSaKo_TuPDd-CJiptL7RSuo8iE63vMmMs/edit#gid=0      requests
    'https://docs.google.com/spreadsheets/d/1XPVDRFwC2DNAnIBo8zKyxjG_Cnun04M4w5RwE0-JHG8/edit#gid=0      events
    'https://github.com/Palakis/obs-websocket/releases      - releases


----------



## dorian111 (Dec 7, 2021)

Excellent - Thanks.

One additional question - is there a method to change the visibility of nested sources?  For example, I've got a source inside a switcher that is in a scene that I would like to change the visibility of.  So the nest is like this:

Scene 1 >
       Switcher 1 >
               camera 1
               camera 2
               camera 3
               camera 4

I'd like to be able to change the visibility of cameras 1 through 4; I'm not seeing a readily available way to do this.

Any help is again, most appreciated.


----------



## bcoyle (Dec 8, 2021)

dorian111 said:


> Excellent - Thanks.
> 
> One additional question - is there a method to change the visibility of nested sources?  For example, I've got a source inside a switcher that is in a scene that I would like to change the visibility of.  So the nest is like this:
> 
> ...


Well, if "Switcher 1" is a group then the scene is still "Scene 1" and the source is "camera 2". i.e if you select a scene and you can see the source "camera 2" then you can turn on and off directly. If "switcher 1" is a scene and you can't see camera "camera 2" in the scene list, this is what I do. In my app, I have one scene called "OVERLAY_DESIGNER" in it I would have a group called "Switcher 1" with cameras 1-4 in it. I put this same group (copy and dup) in scene 1 and scene 2 etc. If you turn on or off a source in a group, it is turned on and off in all other scenes that have that group. So I would use SCENE = OVERLAY_DESIGNER or whatever you wish to name it and use "Camera 2" as the source. 

{"request-type":"SetSceneItemProperties","message-id":"3025","scene-name":"OVERLAY_DESIGNER","item":"camera 2","visible":"true"}

If you copy this same group to other scenes, you would have total control over camera 2 by talking to the designer scene, even if the designer screen is not active.


So scene DESIGNER > 
  Group Switcher 1 >
      camera 1
      camera 2


if you have 
       "scene 1" >
           Group Switcher 1>
              cameras x .....

       "scene 2 >
           Group Switcher 1>
              cameras x .....


So if you are showing scene 1
    and change DESIGNER > camera 1 to invisible and >camera 2 to visible then  you would change camera 1 & 2 in all other scenes and scene 1 would have camera 1 go off and 2 on. Does this make scent? Groups are really handy this way.


----------



## Jaxel (Dec 17, 2021)

Palakis said:


> It is indeed a superfluous function. I want to get rid of it, but I don't want to break compatibility with existing applications. I'll get rid of it in 5.0.


Since the release of more recent versions of OBS, the `Heartbeat` function has become more and more essential. This is because you can have heartbeats without needing to be live, for `StreamStatus`. Previously, we were saying that `Heartbeat` doesn't need to exist, because everything could be moved to `StreamStatus`; this is no longer the case.

Recording, Replay Buffer and Virtual Camera can now be accessed and used independently of streaming. So instead of `StreamStatus` becoming the main status function, `Heartbeat` should become the main function; with sub-arrays for stream status, recording status, replay buffer status and virtual camera status. `Heartbeat` should be an all-encompassing status function.

I also have another request... Currently `GetSceneList` returns not only the list of scenes, but also defines the currently active scene. however, `GetCurrentSceneCollection` will return the list of current collections, but it will NOT define the currently active collection. It should.


----------



## dorian111 (Dec 22, 2021)

bcoyle said:


> Well, if "Switcher 1" is a group then the scene is still "Scene 1" and the source is "camera 2". i.e if you select a scene and you can see the source "camera 2" then you can turn on and off directly. If "switcher 1" is a scene and you can't see camera "camera 2" in the scene list, this is what I do. In my app, I have one scene called "OVERLAY_DESIGNER" in it I would have a group called "Switcher 1" with cameras 1-4 in it. I put this same group (copy and dup) in scene 1 and scene 2 etc. If you turn on or off a source in a group, it is turned on and off in all other scenes that have that group. So I would use SCENE = OVERLAY_DESIGNER or whatever you wish to name it and use "Camera 2" as the source.
> 
> {"request-type":"SetSceneItemProperties","message-id":"3025","scene-name":"OVERLAY_DESIGNER","item":"camera 2","visible":"true"}
> 
> ...


This makes perfect sense - thanks again.  

I'm making progress, so I appreciate all teh assistance!


----------



## PaulBM (Jan 10, 2022)

I have been using OBSCommand and AutoHotKey to trigger hotkeys in OBS. Today I added the following Python script to OBS,






						OBS Python - Twitch Chat Hotkeys
					

This is a Python script for OBS Studio that allows you to post messages in Twitch chat using OBS hotkeys. This can be used for posting general chat messages, spamming emotes, or triggering chat bot commands.  You will need an Oauth key from...




					obsproject.com
				




The script's hotkeys are appearing in OBS and work with a keypress.

Running  the command "TriggerHotkeyByName,hotkeyName=chat_hotkey_0" in a cmd prompt using OBSCommand doesn't work.

Turning on websocket debug I can see the following error in the OBS log. I've checked the hotkey names in twitch.json and the python script itself.

22:45:17.454: [obs-websocket] Request >> '{
22:45:17.454:   "request-type": "TriggerHotkeyByName",
22:45:17.454:   "message-id": "nVRagEhcs1VDhnkQ",
22:45:17.454:   "hotkeyName": "chat_hotkey_0"
22:45:17.454: }'
22:45:17.454: [obs-websocket] Response << '{"error":"hotkey not found","message-id":"nVRagEhcs1VDhnkQ","status":"error"}' 

I'm wondering why websocket cannot see those hotkeys but a lua script's hotkeys work perfectly?

Any ideas?


----------



## PaulBM (Jan 15, 2022)

The issue was in the chat_spam python code. The position in list variable wasn't being passed to the hotkey register call. The new line of code is as follows.

```
self.hotkey_id = obs.obs_hotkey_register_frontend("chat_hotkey_" + str(self.position), key_description, self.callback)
```


----------



## BrokuBlackfire.TTV (Jan 25, 2022)

Hey, I have a question about websocket. 

I just got it yesterday, had everything working perfectly. then I tried to add triggerfyre, and now everything has just gone to shit. 
I've uninstalled it, then reinstalled it and everything. but it won't link back up to touchportal anymore. 
it keeps saying the credentials are not correct. 

So I did what I read on page two. Clicked Authorize, set my password, went to portal, set the same password. IP's and everything match up, but it's STILL not connecting to it anymore. can someone please help me? I'm new to using plugins in general and just started a few days ago. It's driving me insane lol.


----------



## RyanMiror (Feb 8, 2022)

Hi all, Since I updated my websocket or obs, Lioranboard always loses connection to Obs websocket. I use the whole thing on Mac. what can be the reason...recently I installed a loupedeck. Since then a loupedeck websocket connector has also appeared in the obs tools. Maybe that's the reason.
As soon as i want to activate the wegsacket server, obs crashes on me. I do not know what to do.

Many thanks for your help.


----------



## dqm (Mar 1, 2022)

I use Websockets 4.9.1 in an html source dock.  Was working great with OBS v27.1.  Recently upgraded to v27.2.1 and now have intermittent issues with my source dock (and for that matter, with my Stream Deck which also uses websockets 4.9.1).

Right away, I experiened authentication issues about two-out-of-three times when my dock first connects after opening OBS. But reloading the dock after waiting about a minute usually works.  Also, it usually works when I shutdown/restart OBS in quick succession. With authentication disabled, failures aren't as frequent, but they still occur.

It's like: Start OBS->dock fails, reload dock->fail, reload dock->fail, reload dock->success

Anybody else having similar issues with v27.2.1?


----------



## dqm (Mar 1, 2022)

dqm said:


> I use Websockets 4.9.1 in an html source dock.  Was working great with OBS v27.1.  Recently upgraded to v27.2.1 and now have intermittent issues with my source dock (and for that matter, with my Stream Deck which also uses websockets 4.9.1).
> 
> Right away, I experiened authentication issues about two-out-of-three times when my dock first connects after opening OBS. But reloading the dock after waiting about a minute usually works.  Also, it usually works when I shutdown/restart OBS in quick succession. With authentication disabled, failures aren't as frequent, but they still occur.
> 
> ...


Upon further investigation, I believe I've narrowed down the problem.  My source dock is constructed with one javascript file that provides the ip/port/password settings needed to connect to websockets and another that contains the connection logic.  For some reason that I have not yet figured out, the order the javascript files run is no longer consistent as it was in the previous OBS version.  If the logic script runs before the settings script then the connection fails.  

Thus, I now doubt that websockets is the culprit.


----------



## HeriveltoPaulino (May 26, 2022)

PeteyGrrr said:


> I have OBS 27.0.1 installed on Mint Linux 20. I've d/l'ed 4.9.1-1 but I get this error when I try to install it: "Error: Dependency is not satisfiable: obs-studio (>= 26.1.0)" and I'm at a loss to proceed. Suggestions?


Hi!

I had the same problem as you. I use Linux Mint 19.1 and I'm using the Flatpack version of OBS (you probably do too). When I tried to install the websocket through obs-websocket_4.9.1-1_amd64.deb, the same error appeared. What I did was the following:

1 - I copied the directory "/usr/share/obs/obs-plugins/obs-websocket/" to directory "/var/lib/flatpak/app/com.obsproject.Studio/x86_64/stable/0069ec300ce09337a585acfcefe0f2ecdfa0efcd08d920b2751c844fd026296a/files/share/obs/obs-plugins/"

2 - I copied the lib "/usr/lib/x86_64-linux-gnu/obs-plugins/obs-websocket.so" to the directory "/var/lib/flatpak/app/com.obsproject.Studio/x86_64/stable/active/files /lib/" and also to the "/var/lib/flatpak/app/com.obsproject.Studio/x86_64/stable/active/files/lib/obs-plugins/" directory

After that, it worked normally! I hope it helped you!


----------



## Conrad_Guiseppe (May 31, 2022)

Markimoos said:


> Hello, I'm using OBS version 25.0.8 and I just installed the websocket version 4.8 that's supposed to be working for OBS Studio 25 or above. Problem is, I can't seem to find the "Websocket Server Settings" option under "Tools". Did I install a wrong websocket version? Any help would be greatly appreciated!


How to trigger animations using channel points, on a Mac, 

Go to triggerfyre, sign up etc. Download obs-websocket.  

When you install obs-websocket it won’t show you where its been installed to, you need to open the following folder- copy the .so file, and paste it into OBS:

OBS plugins are located in Library > Application Support > obs-studio > plugins > obs-websocket > bin > obs-websocket.so - copy it.

Applications> right click OBS > show package contents > plugins> paste the .so file here.

Then when you open OBS, tools, select OBS web socket server settings and hit OK.

Go to your triggerfyre, upload your video (or media of choice) Add what your point redeem is called. Hit save. Click the PINK circle at bottom right of your screen on triggerfyre, and copy the link for your browser source.

In OBS paste the link as a browser into your source. 

On twitch go to your channel point settings, add the name of your animation as your reward name. Make sure they’re exactly the same, case sensitive.


----------



## Barabba (Jun 23, 2022)

Hi, sorry about the OT, I need to create a fullscreen mosaic with OBS, zoom one camera if needed and go back to mosaic. I can create a static http page on an external device and use websockets as a remote, but I would interact with the same PC. Do you have any ideas how can I change scenes int that way? (without the main OBS interface, I mean). Thank you a lot!


----------



## plrpilot (Jun 28, 2022)

Is anyone having issues with websockets on macs?  
I'm not able to leave websockets enabled on mine.  It randomly crashes OBS -- sometimes after a minute, sometimes after 5-10 mins.  I use it pretty heavily with the Companion app and my streamdeck on my windows machine, but not on my mac.  I've seen the issue on both ARM and intel-based iMacs (3 computers total).   Disabling websockets prevents the crashes, but I'm not sure how to tell what's causing the issue.  Pointers on what I can look for would be most appreciated!  I'm on the latest versions of OBS and web-sockets, as far as I can tell.


----------



## tt2468 (Jul 1, 2022)

plrpilot said:


> Is anyone having issues with websockets on macs?
> I'm not able to leave websockets enabled on mine.  It randomly crashes OBS -- sometimes after a minute, sometimes after 5-10 mins.  I use it pretty heavily with the Companion app and my streamdeck on my windows machine, but not on my mac.  I've seen the issue on both ARM and intel-based iMacs (3 computers total).   Disabling websockets prevents the crashes, but I'm not sure how to tell what's causing the issue.  Pointers on what I can look for would be most appreciated!  I'm on the latest versions of OBS and web-sockets, as far as I can tell.


Do you have a crash report?


----------



## Loopkill2 (Jul 18, 2022)

I am having trouble with installing websocket on windows. I use the installer and it doesn't show up in tools but it is in the plugin folder. I have tried reinstalling it a couple of times but still nothing. Any help would be good.


----------



## tt2468 (Aug 3, 2022)

tt2468 updated obs-websocket - Remote-control OBS Studio using WebSockets with a new update entry:

obs-websocket 5.0.1



> Hi everyone,
> 
> We're releasing the next version of obs-websocket on the forum, 5.0.1. This version rewrites the whole underlying RPC protocol and brings lots of new features. *To use this version, you will need to have a client that supports the new protocol. *This version will be included starting OBS v28, so this release *is only for users running OBS version 27.x.x.*
> 
> For more info on the changes to the protocol, see...



Read the rest of this update entry...


----------



## DJFrANKyEHP (Aug 7, 2022)

This plugin is very very useful if you want to manage the 'Streams' with a tablet or any other kind of device and that's the way I use it. It works flawless and I love how easy is to use it and secure it.

Thanks a lot to all the people involved in its design.

NOTE: All creators are credited as 'Plug-ins Creator' at the credits of my 'Streams' at the end of them. ;)


----------



## rama_az (Aug 13, 2022)

Hello, is it possible that the obs-websocket 4.x protocol is no longer available? Does anyone have a copy of it? Thank you
Error 404


			https://github.com/obsproject/obs-websocket/blob/4.x-current/docs/generated/protocol.md


----------



## SarGus (Sep 2, 2022)

Palakis said:


> Palakis presentó un nuevo recurso:
> 
> Websocket plugin - Control remoto de su OBS Studio con Websockets
> 
> ...


Hola, cuando estara disponible para la version 28 del OBS, porque la que esta en la pagina no funciona


----------



## Soundchaser (Sep 16, 2022)

I've had to revert to OBS v27 as the integrated WebSockets does not sustain a connection. I know this has been reported elsewhere.

I've even tried v28.01 but without success. Is this being actively worked on?


----------



## Bronmaiky (Sep 18, 2022)

SarGus said:


> Hola, cuando estara disponible para la version 28 del OBS, porque la que esta en la pagina no funciona


Ya no hace falta, OBS incorpora websocket v5, pero si tienes apps antiguas que necesiten el 4.9.1 tienes que descargarte esta version https://github.com/obsproject/obs-w...oject/obs-websocket/releases/tag/4.9.1-compat


----------



## Christian Lima (Sep 25, 2022)

rama_az said:


> Hello, is it possible that the obs-websocket 4.x protocol is no longer available? Does anyone have a copy of it? Thank you
> Error 404
> 
> 
> https://github.com/obsproject/obs-websocket/blob/4.x-current/docs/generated/protocol.md











						Release Release obs-websocket 4.9.1-compat (OBS 28+/Qt6) · obsproject/obs-websocket
					

Important Notes  Install this version only if you require legacy 4.9.1 protocol support and are using OBS 28.0.0 or above  For <28.0.0, use the compat binaries here   It is recommended to uninstall...




					github.com


----------



## Christian Lima (Sep 25, 2022)

Soundchaser said:


> I've had to revert to OBS v27 as the integrated WebSockets does not sustain a connection. I know this has been reported elsewhere.
> 
> I've even tried v28.01 but without success. Is this being actively worked on?


Não precisa voltar para o v27 do OBS, use obs-websocket 4.9.1-compat. Eu uso para conectando o Deckboard.
No need to go back to v27 of OBS, use obs-websocket 4.9.1-compat. I use it for connecting the Deckboard.
No es necesario volver a la v27 de OBS, use obs-websocket 4.9.1-compat. Lo uso para conectar el Deckboard.


----------



## AimbotNooby (Dec 3, 2022)

Barabba said:


> If it may sound interesting for someone, it's possibile to change scenes from an http page though clicking an http link, I've realized a mosaic on a static web page and I can swtich cameras from any device, by browser.
> The client and server (websoket obs) should be present on the same network, or on internet if you properly NAT the websocket port (I suggest you to use higher unknow port namber against attacks.
> In the http server there should be placed the websockets client, a .js file, I attach it here. In the html should be present:
> 
> ...


Hello I tried making a simple website controlling my OBS and followed Barabba's instruction, but it doesn't work for me.

That's my code:


> <!DOCTYPE html>
> <html lang="en">
> <head>
> <script type="text/javascript" src="obs-websocket.js"></script>
> ...


I also tried a simple way to connect (without the obs-websocket.js) and that works...at least the connection. The scene switch of course not :(


> const ws = new WebSocket("ws://192.168.178.91:4455");
> ws.addEventListener("open", () => {
> console.log("connected!");
> });
> ...


----------



## AimbotNooby (Dec 3, 2022)

AimbotNooby said:


> Hello I tried making a simple website controlling my OBS and followed Barabba's instruction, but it doesn't work for me.
> 
> That's my code:
> 
> I also tried a simple way to connect (without the obs-websocket.js) and that works...at least the connection. The scene switch of course not :(


Ok I *solved *it by downgrading to OBS 27 and by using the websocket plugin 4.8.


----------



## kc8iqw (Dec 29, 2022)

Running the latest and greatest OBS Studio and consequently the obs-websocket plugin.  Why can we not select the local loopback any longer to bind to.   It gets a server address, but says (best guess) next to it.  I want it bound to local loopback for security reasons.


----------



## tt2468 (Dec 30, 2022)

Soundchaser said:


> I've had to revert to OBS v27 as the integrated WebSockets does not sustain a connection. I know this has been reported elsewhere.
> 
> I've even tried v28.01 but without success. Is this being actively worked on?


Sounds like you've probably got a configuration issue somewhere. Many clients will endlessly try to reconnect after failing to authenticate because they don't have any built-in functionality to show an error dialog.


----------



## DF3EI (Jan 3, 2023)

Not sure if this is the proper place to ask... I am using the latest socket API 5.x and I am able to remotely open a projector (full screen). Is there a simple way to close it again using the API, or at least re-use it? The API call (OpenVideoMixProjector) keeps on opening new instances of the projector every time I call it.


----------

