Wyze Cam V2 Support?

Hey guys, I'm curious if any of the stock firmware streams are non-rstp encapsulated h264 format? I think the HLSWebcam plugin might be able to hook into this if so, would just need to do some testing.

Wyze released a USB webcam firmware - https://support.wyzecam.com/hc/en-us/articles/360041605111-Webcam-Firmware-Instructions
It can be the quick solution for those who have the camera close enough for USB cable.

When speaking about HLS - we are using FFMpeg for this, which is a Swiss knife of video streaming. We can ingest virtually any stream if we have enough CPU performance.

Yeah, I'm aware of the USB webcam option, but in general think it would be better having the processing of the stream/image creation offloaded to the device itself if it supports it, so really just proxying the provided stream to the HTML video tag seems like a legitimate solution, assuming we can get a stream format the Wyze 2 cam can output and the video tag in your viewmodel can handle.

Just glancing at the code of your control viewmodel it seems you are detecting if the stream URL can be ingested by the video tag if I remember correctly, which an HTML video tag can handle a pure h264 file, just not sure how well that works with a stream. For example 2 years ago I made this plugin, but didn't really develop it any further.

Sorry to resurrect an old comment, but does this change get overwritten when OctoPi updates? I just looked at mine and it was reverted to the original setting.

Have we got a final solution to this? I'm running the custom firmware on my wyze

What format is your URL in? I copied the image url and I can open that in the browser but octoprint doesn't seem to like it

Hi everyone interested in making Dafang-Hacked cameras working with OctoPrint. I've just posted this on github, but I think it wouldn't hurt copying my solution here:

For all OctoPrint users - you can have a nice workaround for getting camera to work with your printer which does not require any transcodings. You basically need to do two things to make it work:

  1. Remove login requirement from /cgi-bin/currentpic.cgi You can do it by modifying /config/lighthttpd.conf on SD card (just find section starting with "# Support letsencrypt SSL cert paths" and replace with code below):
# Support letsencrypt SSL cert paths
# (we don't want to upgrade to SSL nor auth' this path)
$HTTP["url"] !~ "^/.well-known/(.*)|^/cgi-bin/currentpic.cgi" {

	$HTTP["scheme"] == "https" {
		auth.backend				= "htdigest"
		auth.backend.htdigest.userfile = "/system/sdcard/config/lighttpd.user"
		auth.require = ( "/" => ("method" => "basic", "realm" => "all", "require" => "user=root"))
		alias.url = ( "/viewer" => "/system/sdcard/DCIM/" )
		$HTTP["url"] =~ "^/viewer($|/)" { server.dir-listing = "enable" }
	}

I've added |^/cgi-bin/currentpic.cgi over there in regexp to disable password request for getting snapshots.
2. Use https://micam.local/cgi-bin/currentpic.cgi in your Webcam snapshots section (use whatever hostname/IP you have instead micam.local ), and also install SnapStream plugin and point it to https://micam.local/cgi-bin/currentpic.cgi

1 Like

There is also the OpenMiko project that adds mjpg stream support natively from the Wyze V2.

Wow, great, didn't knew about it, will try.

Have you had experience with OpenMiko yourself? I have a few Xiaofang 1Ss, and I cannot find an indication it is not compatible with this model, but after flashing camera is not working. I reverted back to Dafang-Hack, but really would like to get MJPEG over HTTP working, maybe you have an idea if you have used the same camera.

I have, but only on a Wyze Cam V2. I haven't used it in a while, but believe it's still functional. You can SSH to the device once it's connected to debug, yet I wouldn't know how. You may want to ask on their slack channel.

Confirmed openmiko wouldn't work on Xiaofang 1S as it has 64 Megs of RAM and it requires 128 minimum. I also I've tried to compile mjpg_streamer for Dafang-Haks, but it seems I don't have enough experience with build tools. My executable shows "segmentation fault". Stuck on my solution so far.