I have 2 PTZ optics 30x NDI cameras.
I can control one of them from the Dockable controllers in OBS, but when I change the IP for the second camera in the settings, it changes for both docked controllers.
I am using /obs-windows/4. LARGE CONTROLLER.html for CAM1
and /obs-windows/CAMERA 2/4. LARGE CONTROLLER.html for CAM2
Any help will be appreciated, thanks!
That is a known bug that exists with the Dockable controllers at the moment. We are working on a fix and should be releasing an updated version soon.
I will respond here once that update has been released and is available for download on the OBS Plugin page.
I can post the specific details if you want them.
Once you set up the dockable controllers in OBS. Go to properties and set the correct IP address. Then simply close OBS and reopen it. It should start working.
Yeah, that is something that several users have reported using as a fix. But thank you for letting us know. At this point I think we have already implemented a fix for this specific issue but we are working on a few other updates to the plugin and dockable controllers before releasing the update.
That's fine for 1 controller, but if you have 2 controllers, changing the properties on 1 controller changes both.
@Colin B - I'm another user having the exact same issue. Glad I found this thread...
@William Brillinger - thanks for the tip! I'm no Java expert, but I was able to figure out what you did and duplicate it on the first try. Problem solved!
Struggling with the same problem... know its staring me in the face but cant seem to see it!
I am also struggling with the same issue. I've installed different docks for each of our cameras (using the the correct folders) but still getting the ip address changing every time I load OBS. Considering we are a house of worship and have a volunteer A/V crew, I need this to work. I don't have time to reassign ip addesses for every service! I chose PTZoptics cameras because they advertised their dockable controls and this was the best solution for us, however, if the docks don't work, it reflects poorly on their product...
Where are we with a solution to this issue?
@ Joel and William -
was in the same boat as you until I fixed it myself - kudos to @William Brillinger for the clues.
Our church purchased two 30X NDI PTZ cameras for our sanctuary because PTZOptics appeared to have a robust support structure in place for OBS. Getting it all to work through OBS was critical for us, as I needed a system that a user-level volunteer could understand and be taught to operate.
This should an easy fix for the pros, and I share your dissatisfaction since this is critical to using more than one camera in OBS. However...
The fix is relatively easy for an end user if you know or can get mildly comfortable with editing html and java files. The problem is that each controller page points to/uses same java file, which in turn references the same data object where the settigns are stored. The fix is to make a copy of the java file for each controller you have (renaming the copies of course), point each controller's html file to the new one, and then in each java file, rename the data object that holds the settings to a unique name for that controller.
I'll have the church's PC home over the weekend and can post more specifics here if you need them. If I have time, I may just also fix the entire distribution and share it; I only did it for controllers 1 and 2 since that's all our setup needed.
In addition to the IP addresses, the saving of all other settings are also a problem. The reason is that the settings of each camera are saved in the same variable (localStorage => "configStorage").
This could be a way to solve the problem:
First define a JS variable in the header of each HTML-Remote-Control-File. For example in the HTML of cam 1 define "var cam_no = 1;", for cam 2 define "var cam_no = 2;" etc.
Next step open the index.js in a text editor. Go to line 23 and change it to
var result = localStorage.getItem('configStorage' + cam_no.toString());
Do nearly the same in line 32:
localStorage.setItem('configStorage' + cam_no.toString(), JSON.stringify(config));