Recently I have been working on setting up a live stream for my son's pet Leopard Gecko. We originally set it up a year or so ago using an old Android phone using YouTube live streaming. However, YouTube changed the requirements for this method. They now require that your channel has over 1000 subscribers. After that change we attempted to use IP Web Cam Pro also on an old Android phone. This worked pretty well, however, the phone's battery would die after a few hours even though it was plugged in.
I finally decided to purchase some low end IP cameras and give those a shot. I found a two pack of Wyze Cams. I was hoping that they would have the ability to view the steam via a browser on my local network. I could then simply setup a reverse proxy on the Pi Lab load balancer and share it. Unfortunately that was not the case.
After some research I found that Wyze has a beta firmware that provides the ability to stream via RTSP. The installation is fairly straight forward. Simply have to copy a file to an SD card and follow a few steps. This gives an extra advanced option to create an RTSP URL to allow streaming outside the app.
Now that I had that I needed a way to use that stream to embed the streams on a website which was the original goal for my son's Gecko stream.
This is where the new Pi Lab Restreamer Node comes in. I have setup a Raspberry Pi 4 Model B 2GB with Restreamer. Restreamer is a software which allows for free real-time video streaming, e.g. transferring video signals of webcams or other video-inputs directly to your website.
The setup for this was so easy! It allowed me to setup local stream URLs that I can use with a reverse proxy entry on the Pi Lab Load Balancer. It also allows me to easily push the streams to YouTube which is what I have elected to do.
Here are the streams that we have setup so far.
So far things are working very well. I have all the streams setup to not do any additional encoding in Restreamer. I found that this was not very helpful with my lower end cameras and was only causing high CPU usage. I am seeing about 3-4 Mbps upload usage on my network which I am going to keep a close eye on.
The main issue that I have had is with YouTube stopping the streams after 12 hours. This is mainly frustrating because it breaks the embed codes for the streams since the stream URL will change when I re-establish the stream. It is even odder that the Pi Lab Live Stream hasn't stopped after over 2 days of streaming, but the others stop everyday right at 12 hours. I am not sure if the AT&T Digital Life security camera that is used for the Pi Lab Live Stream somehow has an affect.
If you are looking to get into running a live stream for something like a pet definitely take a look at Restreamer!
I have managed to get the YouTube live streams to not stop after 12 hours. Apparently if you use the "Schedule Stream" option it allows you to stream past the 12 hour mark. The Pi Lab Live Stream was setup this way during the initial setup which is why it hadn't stopped. I have now set them all up this way.
I have continued to have issues with YouTube ending the tortoise cam stream. So I have gone back to EarthCam. To get around the sketchy ads in the EarthCam embed I have setup a scraper to grab the m3u8 file directly for TortoiseCam.com.
I have upgraded the Restreamer Node to a Raspberry Pi 4 Model B (4GB).
I have added the OctoPrint Node Live Stream.
*I have extended the Restreamer node to act as a secondary Pi-hole. Check out my new dual Pi-hole + Tailscale setup here.
*I shutdown the Pi Lab Live Stream as well as the OctoPrint Node Live Stream due to some YouTube Copyright Infringement claims that make no sense.