I was hoping this was going to end with "look, it runs embedded linux and here's how to get root, on a $20 camera". That would solve this problem:

Does anyone know of a good way to have a camera stream video over WiFi to my server, which can then forward it to the Internet, without passing through a third party? And, ideally, without opening ports. Burned too many times by buying cameras with streaming systems that are shut down two years later.

I think if I could get root on embedded linux on a WiFi camera, I could set up an SSH tunnel and go from there. But with the current IP camera I wasn't smart enough to get root (or a shell at all, IIRC) and it wouldn't take firmware updates.

So right now I have a terrible hacky solution where it FTPs an image to me every ten seconds, and then I put serve that... but a real stream would be way better.

I wrote this for Wyze v2 cameras: https://github.com/openmiko/openmiko

This looks quite nice, I will give it a try. I mostly have v3 cameras and unfortunately it looks like these are not supported?

Wyze has an official RTSP firmware you can download from their support section for the v3. It’s beta, but has mostly worked for my needs.

The official rtsp firmware is garbage and outdated and of course still phones home. For v3 I have been playing with https://github.com/gtxaspec/wz_mini_hacks which seems very promising since it allows ssh root access.