RTSP for new V3 camera

So with my research there seem to be three options to get video out of these cameras, Option three seems to be the best route once it’s complete.

  1. GitHub - n1ckyrush/wyzecam-hls: Converts MP4 files from WyzeCam NFS to HLS stream. Much more stable alternative to RTSP firmware. : This one has a 1 min delay and requires modifications to the camera.
  2. GitHub - FiveLeavesLeft/WyzeCameraLiveStream: Hack to allow live streaming from wyze cameras to vlc or mpv on your desktop. : This one is really unstable right now but looks promising. This one also requires modifications to the camera.
  3. GitHub - kroo/wyzecam: Python package for streaming video from wyze cameras over the local network : Just a library right now so not a complete solution but should be soon. No camera mods are needed and works with all Wyze cameras. I personally tested on my V3 and Doorbell.

Using option 3 I was able to write a simple PoC app that would pull raw frames locally and store them in a file… then I followed up with ffmpeg to mux the raw h264 frames into an mp4 container and it plays back perfectly. This is the project to watch.

2 Likes

So option 3 has no way to rtsp stream right now? im trying to get it working in home assistant

I have used iSpy for years and it worked like a champ. Never had an issue and the ability to locate a camera on or off prem worked flawlessly. Stopped using it about a year ago as I switched all of the camera’s in my in-laws and sister-in-laws house. They are now using the Wyze Camera’s without RTSP which precludes the use of iSpy.

1 Like

I literally just gave a friend one my v3’s since wyze is a trash company that does not have their customers best interest in their agenda.

That being said I still have 1 v3 cam left and just finished installing fiveleavesleft modifications and I’m actually very pleased with it. Been running it without issue for nearly 3 days and integrating it with home assistant was great using frigate.

How did you get the v3s working in ispy?

I didn’t. I was indicating that before Wyze, they were using other Camera’s. Now they have Wyze. However, until it gets the RTSP FW, you may not be able to get it working. I will need to reword what I wrote.

Sorry for the confusion.

Correct. Currently it’s just a python package that handles the Wyze API calls to get the details on the local stream and then connect to the local stream using another library to grab the raw frames. It’s just a matter of someone writing an app that uses this package to grab the raw frames and serve them up via RTSP. The author of this package says he is working on an RTSP solution which is mostly working but isn’t ready to release it yet. So hopefully it will not be long before it’s released. In the end it should be a better solution than an official RTSP firmware from Wyze because they tend to not release updates for the RTSP firmware. This solution would allow us to run the standard firmware and not loose any official Wyze functionality while also getting RTSP.

Is this coded in 2.7x or 3.x python?

I’d like to try it out, but I don’t want to install the wrong python environment.

I tested on a Debian box using which has several versions of Python installed. I did the test with Python 3.8.9 using a python virtual environment.

So clone the repo and then change into that directory and then do this:

python3.8 -m venv wyzetest
source wyzetest/bin/activate
pip install .

You should then be able to run the examples.

In my case I am running on a headless server so no desktop environment so I modified the sample to dump the frames to a file named test.h264. Then I used ffmpeg to mux it like this:

ffmpeg -f h264 -i test.h264 -vcodec copy test.mp4

Then I copied the file over to my desktop machine and played it back with no issues. I just wanted to prove that you can in fact, pull frames locally without custom firmware.

I guess I should mention that this will ONLY work on Linux, macOS or Linux in WSL because it’s reliant on TUTK_IOTC (you will also need to compile this) which will only run on Linux.

I left some detailed notes on testing the example on Linux. It covers installing python, compiling the TUTK lib and then running the example.

1 Like

how did you get the frigate intigration to work? it wont let me add it saying it cant connect to frigate

I’ll post my configs for you when I get home in about an hour.