I wasn’t happy with the lag in most baby monitor apps out there in the Google Play store. I wanted something with less lag, so when my son moves around or wakes up, I can react more quickly.
Gamers know all about lag, and who better to turn to than to them. I settled on a Mumble server, which has since fallen out of favor due to the popularity of Discord.
Here’s a great guide I used to set up a Mumble server on my Raspberry Pi. I also set one up on Entware, but those packages are outdated.
Mumble is very secure and using the Opus audio codec provides ultra low latency communication.
The best Android mumble client I could find is called Mumla, and available via the 3rd party app store F-Droid. Clients also exist for multiple platforms including Windows, Linux, iOS and Android, and Web.
I set the “transmitter” (baby side) to “Continuous” mode and set the “receiver” (parent side) as “push to talk”, in case I want to talk back to the “transmitter”.
This system also makes a great ip based home intercom system.
To add further automation to this I also set it to auto reconnect, if it loses connection, and I schedule the WiFi to turn off and on at night to minimize EMF exposure at night and maximize battery life.
I also added a video streaming app in the form of an app called IPWebcam Pro (which you can password protect).
I still run both apps on a low end phone as the transmitter, and disable the audio portion of IPWebcam. I cannot achieve the same level of low latency audio that I can with a mumble server/client solution, even with Opus selected.
IPWebcam does have the lowest latency available for video that I’ve seen. Using flash tends to offer (I know, I know… I hate flash too) the absolute lowest latency on the video side.