Updated to v1.51 and webcam stopped working

Wyze Cam V2

Updated to Octoprint v1.5.1 and now the cam does not show in the webcam link. It does show when I go to the webcam in settings to test.

Cam has been formatted into a webcam via Wyze update and was working perfectly until the v 1.5.1 octoprint update. Any help on this would be cool. Thanks

Please do not tell me this is a duplicate of

And even mentioned in the release notes, an issue on the Webcam Tab plugin repository:

where a solution has been provided...

If it is not, please accept an apology and describe your problem in more detail.

Yea, unfortunately I foresee MANY more of these posts on the cam tab coming soon!
Thanks for the links. I will give the one solution in the second post a try....or just revert the version.

Well, if people could use the search bar, we wouldn't have this issue...

Webcam Tab has just been adopted by a new author, so you should get a notice telling you to uninstall it & reinstall from the new maintainer, who has provided a fix & will continue to support the plugin.

I don't think it's just that though. I don't have the webcam tab plugin and my webcam still is failing intermittently since 1.5.X update.

sudo service webcamd restart

seems to do the trick temporarily, but there seems to be a new fundamental issue with webcam support introduced in the new version (likely separate from the above mentioned webcam tab plugin issue).

Impossible. And I'll tell you why. OctoPrint doesn't even know what a webcam is. Webcam support is provided by a separate piece of software, on the OctoPi image that is usually mjpg-streamer. THAT talks to your webcam, through OS interfaces. OctoPrint only embeds an mjpg stream in the web interface and fetches jpg snapshots from a snapshot URL. It doesn't know about your webcam, where it's located, how to talk to it, or even if it's even there.

What could be happening however is that your system's power supply was barely providing enough juice to the pi to operate stable as is, the update changed the software just enough so that the system got pushed over that edge, and you are now running in intermittent undervoltage which can cause all kinds of issues. I say could because without logs it's impossible to really do anything here but blindly guess.

1 Like

In my case I ended up re-imaging OctoPrint, then using the now fixed version of webcam tab Plugin and all works well again. I don't even think you need the re-image, try to just uninstall your current webcam tab plugin and re-install it.

Hi foosel,

good point, and correlation with 1.5.X update of course doesn't mean causation, no question.

The webcamd logs for the moment of fail are the following lines (before that, and after a manual SSH triggered webcamd restart its working nicely):

Dec 11 08:07:05 octopi webcamd[341]: i: select() timeout
Dec 11 08:07:05 octopi webcamd[341]: i: cleaning up resources allocated by input thread
Dec 11 08:07:05 octopi mjpg_streamer[420]: MJPG-streamer [420]: select() timeout
Dec 11 08:07:05 octopi mjpg_streamer[420]: MJPG-streamer [420]: cleaning up resources allocated by input thread

I am pretty sure it's not a simple system power issue because my raspi 4b is getting its power from a 65w USBC powerbrick meant for much thirstier machines (plus this exact identical setup was working nicely for about half a year while 1.4.X and lower versions were running on the pi).

From Octoprint's log, the only anomaly is:

2020-12-11 08:12:18,236 - octoprint.timelapse - ERROR - Could not capture image /home/pi/.octoprint/timelapse/tmp/[printing filename]
http://127.0.0.1:8080/?action=snapshot
Traceback (most recent call last):
File "/home/pi/oprint/local/lib/python2.7/site-packages/octoprint/timelapse.py", line 750, in _perform_capture
verify=self._snapshot_validate_ssl,
File "/home/pi/oprint/local/lib/python2.7/site-packages/requests/api.py", line 76, in get
return request('get', url, params=params, **kwargs)
File "/home/pi/oprint/local/lib/python2.7/site-packages/requests/api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "/home/pi/oprint/local/lib/python2.7/site-packages/requests/sessions.py", line 530, in request
resp = self.send(prep, **send_kwargs)
File "/home/pi/oprint/local/lib/python2.7/site-packages/requests/sessions.py", line 643, in send
r = adapter.send(request, **kwargs)
File "/home/pi/oprint/local/lib/python2.7/site-packages/requests/adapters.py", line 529, in send
raise ReadTimeout(e, request=request)
ReadTimeout: HTTPConnectionPool(host='127.0.0.1', port=8080): Read timed out. (read timeout=5)
2020-12-11 08:17:25,716 - octoprint.server.heartbeat - INFO - Server heartbeat <3

Not sure which more verbose log could help here.

Of course, could also hypothetically be a busted ribbon cable or a hardware glitch of some kind (I naturally don't have spares of every component at hand to investigate) - but then I think it's at least suprising how running sudo service webcamd restart gets everything fixed temporarily every time.

Update:

running the following commands through SSH:

sudo apt-get update --fix-missing
sudo apt-get upgrade
sudo reboot

seems to have helped somewhat, no more random webcamd timeouts since doing that.

Since there seem to be quite a few octopi users not sure how to use SSH, wondering if it may be an idea to have somewhere in the UI a button to run these (and potentially other OS update related) functions? I found the power warning and other Pi specific otimizations in octoprint to be super helpful.

IMO these people need to learn how to use it. If you are setting up something, you should know how to use it.

Now this is my personal opinion, do not take it as this is a bad idea - I have often thought the same thing. My worry too is that we make it too easy for people to do these things, that when something goes wrong they have even less of a clue. It's a tough balance.