Why does my multicam setup work in Cura, but not in octoprint's own webpage?

Camera model
Logitech Brio 4K USB connected to octoprint directly
Wyze Cam v2 streaming mjpg via Blue Iris connection

What is the problem?
Octoprint's dashboard/web interface only shows Logitech's video, when switching the button to Wyze, it times out and provides a link that it is configured to use, that it says is not working, but when I click the link it works fine. In Cura, the button shows up to select which camera you want and it works just fine! Just wish the web app worked too... Any method to getting the Octoprint interface to use the multicam feed from an external IP source instead of it's own IP - is that the issue? There are no rules in place to block traffic from my pi to this camera or the blue iris server - so it's weird that it works in Cura's interface (which I didn't even expect) and it does NOT work in the primary application of octoprint's dashboard.

Cura's view:
Logi: 10.04.2022-11.59.40
Wyze: 10.04.2022-12.00.32

What did you already try to solve it?
Completely started over with a fresh image of octoprint and the latest plugins to make sure I was still sane. I put the original card back in to save other information and resume my normal functionality since a fresh image didn't make any difference and it behaved identically.

Logs (/var/log/webcamd.log, syslog, dmesg, ... no logs, no support)
octoprint-systeminfo-20221004114927.zip (527.8 KB)

Additional information about your setup (OctoPrint version, OctoPi version, ...)
Raspberry Pi 4 running latest stable version with all plugins updated.

I suspect the issue is browser security related, especially if both URL to access OctoPrint and URL to access webcam are not matching protocols (http/https). Cura wouldn't have these restrictions. One of the common ways around this is utilizing the haproxy preinstalled on octopi images to redirect /webcam2/ to the ip address of the second server, and then you can use a similar path as the default. You can validate this theory by opening your browser's developer tools and check the console tab while switching the camera in control tab and see if there are errors thrown.

Do you have any guides or information on how to setup haproxy to redirect /webcam2/ to the ip address of my blue iris server? I'm guessing that would allow my octopi instance to just think it has two usb webcam's and use it's own local IP address like my first camera's settings are like in multicam.

Also - multicam seems to lock up after the first 2 or 3 layers of a print now - if I disable multicam - then the prints have no issues and make it all the way to the finish line. If I try to do any print with multicam enabled and two cameras in the config - then it seems to freak out after the first layer or two of printing.

Is this related? I suppose trying out the haproxy idea and seeing if it continues would be an easy tell... I have octolapse but only one camera set up - I DID set up two in there hoping to get time lapses from different angles of the same print but that's when all of this started locking up after the first few layers. But octolapse only has one camera profile now and it's set to the webcam like it always was (Brio USB Camera).

Check the optional section here in this guide.

It could be too much processing for your pi to handle, but that's very friendly in what model pi, etc.

I'm using a Raspberry Pi 4 Model B Rev 1.2 board. I've used it to reconvert six 1080p cameras before - but I guess I don't know how cpu intensive 3d printing is... ?

The guide you pointed me I've reviewed previously - but it seems this guide is for adding two usb cameras. Where would I specifically "fake" the USB stream with an IP address of an already working mjpg flow?

This guide is actually how I got my Logi Brio working in the first place - I had to find the long ID and use index0 (it has 4 index values).

I'm just not sure where to put the IP address to add a second device that is NOT a USB webcam connected device... if that makes sense?

If I replace the factory settings tab of the camera configuration with the same exact URL syntax as I was putting in multicam - the blue iris streaming camera works natively. So I'm confused why trying to use both of these doesn't work with the multicam plugin in the browser, but does in Cura.

I get what you mean by accessing the octopi dashboard via https and that my blue iris stream is not encrypted and uses default http... but I'm not sure why that would matter as only one cert is seen and it's obviously capable if I can use it as the default webcam, right?

Here is the default webcam config working if this makes more sense with what I'm getting at:

definitely not in modern day browser security. It does not like loading resources from other servers/services if they don't match or if CORS isn't enabled, etc.

I specifically mentioned the optional haproxy config in that guide, but you would just replace the ip address/port for the webcam2 backend with the ip address of your blue iris server. It would help if you shared the URLs you're using for both to better describe.

I figured if you were pulling httpS from within an httpS session, then yes things could get iffy. But since blue iris is only lan based and is not using SSL, (and since it works as the default webcam as shown in my images) then I'm confused why it would be a browser issue I suppose. Seems more like a multicam issue now.

The IP address is in the pic from my last post. http://192.168.1.5:8886/mjpg/ddd/video.mjpg (is the stream) and /image/ddd is the snapshot URL.

I added two profiles to octolapse to use both cameras and am running a test print. Sadly the telegram plugin only sends the default camera as a picture since multicam is disabled or else my setup locks up after the first few layers.

Have you checked your browser's developer tools > console tab to see if there are any related errors as I mentioned before?

No I'm not familiar with developer tools - I'm a hardware guy. I have to disable the multicam plugin in order to get anything to print more than a layer or two and then pausing... (Octoprint does crash when this happens and I have to ssh into the pi to restart the service or reboot to get it responsive again - of course either kills the print)... Are there any logs I can send to help identify what might be killing octoprint when printing with multicam enabled? Perhaps that's the primary issue all along... since the wyze cam works via the blue iris link when it's the only camera set up in octoprint - as well as the logitech brio works fine when it's the only one...

that system info bundle is good enough. looking through it seems there are issues with smartfilamentsensor and several reported errors with camera settings plugin, but nothing specific to multicam. there is also a couple of reports of issues with octolapse, and since octolapse is involved during printing for timelapse I'd lean toward that being a potential issue rather than multi-cam alone. that being said, octoprint failing/locking up wasn't the initial issue that I was trying to assist you with, but rather figure out why you couldn't change the webcam view within octoprint with the multi-cam plugin.

have you closed cura while trying to access the webcams and change which one is being displayed. to get to developer tools in your browser press the F12 key on your keyboard and it will open. You can take screenshots of errors that you see in there if at all while trying to change cameras in the UI.