Camera privacy mode - Frigate / Go2rtc

Home Assistant Hivemind I’ve got a request for help from a new dad.

Problem statement
I would like to setup a way to pause / redirect / mute / blacken a webcam feed from Home Assistant. In an ideal world it would show an image / loop a short video while “muted”, similar to what some Twitch streamers do when they step away.

Background
In our Baby’s nursery we have a UniFi G5 Dome camera mounted to the ceiling. This provides a wonderful overview of the baby’s crib & the entire room. However, my wife would like the ability to turn on a privacy mode when she is breast feeding etc.

Current setup

  • The UniFi G5 dome is connect to a PoE switch.
  • I have UniFi protect running on a Raspberry Pi.
  • I have Frigate installed with the embedded Go2rtc set up.
  • Frigate does motion detection, (planing on trying out audio detection soon), snapshots, recording etc.
  • I have the Home Assistant Frigate integration setup bringing the video events etc. into home assistant.
  • I also use VLC to stream the camera (from go2rtc) to my laptop / PCs
  • I also use Channels DVR to bring the go2rtc feed to my televisions (Grandpa loves to sit on the couch and watch the Baby sleep all day on the TV).

Ideal solution
I’m thinking a virtual switch in Home Assistant to toggle privacy mode. Probably coupled with an automation to return it to normal after [45] min as my wife will almost certainly forget to return it to normal.

If I could do it where it only switched the video feed, but left the audio from the UniFi camera I would probably do that.

I’d really like to make this change at (or before) the stream hits go2rtc, so that it would mute Frigate / Home Assistant / VLC / ChannelsDVR simultaneously.

Call for help
I spent 30 seconds scanning the go2rtc API, and it wasn’t obvious to me that there was an easy way to modify a stream like that.

Anyone have any suggestions for how to approach this? Right now my mind is going towards something like putting OBS in front of go2rtc. Hoping the hive mind can come up with something more elegant than that.

Word of caution
If anyone is trying to setup something similar, while I love having this video feed on all my devices, I would strongly recommend also investing in a simple audio only baby monitor. That is so much more practical for keeping track of the little one, especially when moving around the house. Not to mention the video delay is pretty significant.

Smart AC switch to cut power to camera. Software “privacy mode” is subject to fail, mistake, or mischief .
Unmanaged Poe switches are $24USD and switch is $10-30USD. A Poe injector on smart switch would work well also.

I wasn’t aware of the privacy toggle in the UniFi integration - this exactly what I’m looking for.

I saw the privacy zones in the Protect app. But I don’t use Protect for recording, and didn’t see this full screen privacy feature, so I wasn’t aware it was there.

I have a bunch of other non-UniFi cameras, and much prefer having all of my object detection and recording in one location I control (not to mention without having to buy a UniFi NVR / Cloud Key).

I’m not running the latest software, but it is less than 1yr out of date. And I don’t particularly care as the only feature I’m using is enabling the stream.

You are not wrong about the fallibility of software. But our current approach is to turn off the television and ignore all of the other clients.

A software privacy button is an order of magnitude better than that. And sufficient for our needs.

If you cut power to the camera you interrupt all of the streams. I haven’t checked, but I wouldn’t be surprised if many of these clients handle that less than gracefully.

This is what I do to stop stream from go2rtc:
I create an automation to stop the go2rtc addon (hassio.addon_stop) and restart it when needed (hassio.addon_start). To find the addon slug, go to the addon on your browser, its the xxxxxxxx_go2rtc in the URL https://your.homeassistant.url/hassio/addon/xxxxx_go2rtc/info.

I use this automation for my battery-powered doorbell camera, if go2rtc is on all the time it drains my doorbell camera batteries pretty quickly, need to charge several times a day. So now go2rtc only switches on when motion is detected where the camera is located and shuts off when no motion is detected. Now the battery can last about a week on a single charge.