New Camera streamer

"If you want to use an IP & port for some reason (can't recommend hardcoding your IP into the settings because it might change), then you can adjust the 'Webcam URL' to be http://192.168.0.222:8080/. This will then result in the webrtc URL being http://192.168.0.222:8080/webrtc which is correct. Don't try and add the port into all the extensions, put it in the base URL."

My IP adress for the Raspberry Pi / Octoprint wont change, because I´ve assigned it a static IP. You say: ...then You can adjust the ´webcam URL´ to be ´http://192.168.0.222:8080/...
thats exactly what I want to try to see if the stream then appears in octoprint. Can you please tell me how to configure the URL like this inside your plugin?

Change that field to the full URL http://192.168.0.222:8080/

Thanks Charlie Powel and jeneilliii,

I`ve tried that already, and this time the URL was built alright. I was asking, because I tried something similar before, that did not work out. I put 192.168.0.222:8080/webrtc (without the http://) - this resulted in the following URL: http://192.168.0.222/192.168.0.222:8080/webrtc. After I put http:// in front of the numbers it worked out correctly...
Sadly I had to recognize that even putting this URL did not bring the stream into Octoprint, despite this URL works in browser window.

So I did some more tests, and now I got it to work! with the standard configuration provided by the camera streamer plugin: "webcam/webrtc" what means: just leaving it the way it comes after installation.
The culprit was the red night skin provided by UI Customizer plugin: As soon as I revertet to a backup I made when the skin wasn´t yet applied (though the plugin was installed already) it startet to work. On first attempt after loading up the backup and restarting, even the stream windows inside the side pannels worked correctly (on the default white skin of UI customizer), wich is gone now again. Now it´s trying to load those forever, BUT THE MAIN VIDEO in the center of the screen is still working on webrtc!
I´ll keep on testing and trying, and will update you if I manage to get the side pannel stream windows to work again.
many, many thanks to all of you constantly helping me, and many thanks for your patience!

I have been testing the new stack and multicam plugin and what worked for me is

http://192.168.1.100:8080/stream

Anything else I use eventually ends up in a timeout or error. I have 4 USB cameras on a powered USB hub. 2 Logitech C615, 1 Logitech C920S, and one no-name USB borescope from Amazon. They are on ports 8080, 8082, 8083 and 8084 and all of them work with /stream.

Yeah, that is - as far as I understand it - the good old motion (MJPG) streamer, this one worked for me also with: webcam/?action=stream and for snapshot with webcam/?action=snapshot - as Ewald Ikemann pointed me to some posts furher up. I wanted to have the stream via webrtc, because MJPEG uses a lot of bandwith, which I experinced @ my home when there is already heavy load on the network.
Meanwhile I have increased the NBUFS to 3 - and the lagging I had with default settings (NBUFS=2) almost went away...
In my case, as soon as I load m prefered skin into UI customizer (red night with heavy css customizing to get the blue of my printer into it) the webrtc stream does not work any more... (It even quits loading when I leave out my stylesheet)...
Do you by any chance use some skinning, or do you run the plain octoprint interface?

I use UI Customizer "Blue Moon" with several options enabled but no additional customization.

Maybe try the standard white theme (it´s down the list, almost bottom) in the themes view, and then try to go with "webcam/" in the stream URL field and "webrtc" in the webrtc viedo url field (this is standard for the "Camera Streamer Control" plugin). I do not know how this will work out with multiple cams active, I just use one of them, and the one I use is a raspicam v3 with autofocus...

On the other hand, if you have a running system, and that with multiple cams working, and your network is all good, why not just keep it?

Interesting question. My answer is weirdness with mobile, specifically Apple IOS. It will not consistently load the stream no matter what I use. When I open OctoPod or just the OctoPrint web interface about 95% of the time I get no camera view. In just a browser I have the same bad success rate. Desktop is pretty good, not flawless but good. Mobile is a hot mess and i have to use a network stream connection in VLC to have any real chance of seeing video from any camera.

Further up in this thread I posted an Image of the "server page" (can be reached when you put (URL):(port) into a browser window (eg.: http://192.168.0.222:8080) where you can see all available extensions to the base url. It says if you put /video instead of /webrtc or /stream it decides based on the browser that accesses the stream which format is used. maybee that will work with different browsers?

As the red night theme from UI Customizer seemed to break my webrtc stream I chose the standard white theme insead, where everything seemed to work properly at first sight. If I was at the "controls" page with the stream video - in the sidebar stream area it said "webcam is active in control section". When beeing in the "temperature" tab the video stream showed up correctly in the sidebar. After a short time this correct behavior stopped and the side bar was trying to load the video stream forever, no matter in which tab I was, but in the main area everything seems to work fine.
When I used the red night theme, the video stream even did not load in the main area.
So now I don´t use the red night theme anymore, but I pasted the customized stylesheet in the "custom css" section of the UI Customizer plugin, now I have my theme as customized without the (red night) base theme. The only downside to this is, that I have to enable "preview" there after every new start of octoprint, and even after each page refresh, the custom css seem to not load automatically.

What I additionally experience: from time to time network traffic seems to stall, octoprint gets unresponsible and I have to restart octoprint. I don´t know @the moment, where this comes from, it´s very hard to tackle.

I am spending some time to get things right in this configuration, and it´s not too easy, so if you want to "change" or" try", you might need some time and patience to get everything up and running perfectly, I guess...


For me this is O.K. - I already spent some time on the printer itself, and I have built the same setup already in orange.... Befor I finish the assembly of the blue one I try to get things alright with octoprint in my prefered setup...

Have you tried turning the webcam widget off in UI Customizer? I think that's where things are probably getting messed up. Also, running OctoPrint in safe mode would completely rule out the possibility of a plugin issue.

In the heat of this day my printer and octoprint are running now the whole day, and the only issues that remain are the ones with UI Customizer:

1 the webcam widget stays in permanent loading state (but it seems not to cause any additional errors)
2 the custom css section does not load the stylesheet @ startup

other than that everthing is running fine, no unresponsiveness anymore, no need for restarting, webrtc stream is comming clear and almost without lag. All the icons are displaying correctly, even in print job history.
there is no difference to running in safe mode, or running without webcam widged. I tried.
All seems to be good,
thanks for your help, jeneilliii!

I disabled UI CUSTOMIZER and went back to the default interface for testing. I am familiar with the page you posted that shows options for the cameras and have tested all of those options.

  1. Logitech C920s
  2. Logitech C615
  3. Logitech C615
  4. Generic USB borescope from Amazon

From a web browser (Brave) on my computer directly to the link:
/snapshot - loads as expected on 1,2,3,4
/stream - loads as expected on 1,2,3,4
/webrtc - inconsistent across cameras - 3,4 load nothing and no error
/video - inconsistent across cameras - SERVER ERROR on 3,4

From OctoPrint interface on same web browser on computer:
/snapshot - loads as expected on 1,2,3,4
/stream - loads as expected on 1,2,3,4
/webrtc - inconsistent across cameras - 3,4 load nothing and no error
/video - inconsistent across cameras - SERVER ERROR on 3,4

From a web browser (DuckDuckGo and Safari) on my iphone directly to the link:
/snapshot - loads as expected on 1,4. Nothing on 2,3
/stream - loads as expected on 1,4. Nothing on 2,3
/webrtc - inconsistent across cameras
/video - loads as expected

From OctoPrint interface on same web browser on iphone:
/snapshot - loads as expected on 1,4. Nothing on 2,3
/stream - loads as expected on 1,4. Nothing on 2,3
/webrtc - does not load at all
/video - does not load at all

Bottom line: /stream offers the best results in terms of actually working but it is not 100% consistent.

I will add that on the phone using VLC to open a network stream all of the /stream links work as expected. So the phone has the ability to see the streams but for some reason they don't render in a browser. Really weird considering 2 of the cams are the same model.

@post Nr.: 1: That´s why I ment "why not keep a running system" :slight_smile:
@post Nr.: 2: Yeah. it´s sometimes sort of a mystery, why and how things work...

I have at least two Logitech C920s lying around, bought for streaming sometimes, maybee I will test those when I have time...
On the other hand are the raspicams very small and lightweight... and for the logitechs I would have to print mounting plates...
In the past I used HDMI converter boards at the raspberry pi and the camera to bridge the distance with HDMI cables, I need to try if they work with the new streamer to... They are easier to route than the flat ones...

To keep you updated:

meanwhile I managed to resolve the 2 remaining issues:

1 the webcam widget stays in permanent loading state (but it seems not to cause any additional errors)
2 the custom css section does not load the stylesheet @ startup

the only thing I changed to the state before was to delete the data of "classic webcam plugin" and trigger a restart. Now the strange thing happens: The "classic webcam plugin" is activatet by default (despite I have deactivatet it before) after the new boot. The video stream shows up in the side panel, even though it says "webcam not configured" as an overlay...
The custom css is loading automatically now and showing the desired interface @ start. I tried to deinstall classic webcam plugin, but that does not work out...

Somehow it looks like the stream is still webrtc, and to show webrtc stream in sidebar "classic webcam plug" needs to be enabled (and it´s data need to be deleted), and because I deleted the data, it says "webcam not configured" as an overlay to the webrtc stream...

another thing: I tried to style the background blue of the printer display, but I failed with webinspector: he gives me "Element" (Inline) as style item, but when I style "Element" nothing happens...

As possibly expected my next question (:slight_smile: :

If I have two printers with a raspberry pi each and two identical octoprint instances - one for each of them (only the color styles differ, according to the printer colors), do I need to assign two different ports for the webrtc streamer, or does that not matter because everyone of the instances accesses port 8080 on their respective servers and so they don´t interfere?

Because webrtc stream is working on the first setup, but with same settings not on the second instance?

The other possibility why it may not work on the second one is that I have two flatcable to HDMI Converters inbetween the video line (from Raspberry Pi to the Raspberry Pi Cam v3) on the second one. Does anyone know by any chance if the webrtc streamer works with HDMI converters inbetween?

test without?

Yes jneilliii, thats what I did. Because I have a personal issue with patience, if nobody knows - or answers in - lets say 30 minutes, I go ahead by myself (but I need to ask before, in case anybody maybee knows the answer :slight_smile: ). It was some action to tear that apart again and to assemble again without, but now I know the answer.
As it seems, the new streaming format does not go with the HDMI converters, because as soon as I had removed them, everything was working perfectly.
So I have a new project: making cables that are more easy to route then flatbands...