BirdNET-Go turns security cameras into a bird identifier

BirdNET-Go turns security cameras into a bird identifier

A home-security-camera owner describes feeding the audio from three of his outdoor security cameras into BirdNET-Go, a self-hosted, Docker-based tool that runs local AI models to identify birds by their song in real time. The cameras already supported RTSP streaming, so no extra hardware was needed: BirdNET-Go simply points at the stream URLs and listens continuously, flagging a species the moment it sings rather than requiring manual recording. Everything runs on the author's own server or a Raspberry Pi, so no audio leaves the house, there is no subscription fee, and no cloud provider can shut the service down. BirdNET-Go's model gallery recently added Google Perch v2, which can recognize 14,795 species, up from the 6,000 that the previous BirdNET 2.4 model supported, and the tool lets an owner run several models at once for different detection strategies or regional species lists. Beyond birds, the setup also picks up bats and, unexpectedly, frogs and even a passing neighbor's flatulence, which triggered a Home Assistant notification one night. The author built in species-list alerts (an instant ping when a target bird, such as a cardinal, shows up), a running log of first-time species sightings for the yard, integration with Home Assistant over MQTT, and a Discord channel for notifications. Detections can also be shared to BirdWeather, a community platform researchers and other birders use to see local activity, and a third-party developer, credited as Robert Oesterlin, built a free iOS app called BirdNET-Go Companion that connects to a self-hosted server. The author made the dashboard available on the household's public domain, behind Cloudflare, so friends could see it too. Answering follow-up questions from Reddit and Hacker News, the author noted the microphones automatically stop recording when they detect human speech, that a specialized microphone would give better bat-detection accuracy than the camera setup, and that while the system cannot be turned into a doorbell, it can piggyback on an existing doorbell if that doorbell exposes an RTSP feed. Over the previous 12 months, the setup logged 418,726 detections across 271 unique species with an average confidence rating of 60.9%; the most common bird in the author's Southern California yard was the House Finch, with 118,667 detections.

Key facts

  • Three existing security cameras' microphones were repurposed via RTSP streams into BirdNET-Go, a self-hosted, Docker-based bird-identification tool, with no extra hardware bought.
  • BirdNET-Go's model gallery added Google Perch v2, covering 14,795 species, up from 6,000 with the earlier BirdNET 2.4 model.
  • Over the last 12 months the setup logged 418,726 detections across 271 unique species at an average confidence of 60.9%, with the House Finch the most common at 118,667 detections.
  • The system also caught bats and frogs, and once flagged a neighbor's flatulence via a Home Assistant alert.
  • A third-party developer, Robert Oesterlin, built a free iOS companion app that connects to a self-hosted BirdNET-Go server.

Why it matters

It is a small, concrete example of a broader homelab pattern: local AI models replacing subscription apps and cloud services for a task, birdsong identification, that people were previously doing by hand with a phone app. Nothing here is novel research; the interest is that hardware already sitting outside most houses (security cameras with microphones) turns out to be enough to run it, at no ongoing cost and with no audio leaving the network.

Who it affects

Homelab hobbyists and self-hosting enthusiasts who already run Docker services and own IP cameras with microphones; birders or casually curious homeowners who want passive species tracking without buying dedicated recording gear; and anyone weighing a subscription bird-ID app against a one-time, local setup.

How to use it

BirdNET-Go runs as a Docker container and needs only an RTSP-capable camera or microphone feed pointed at it; the author used three cameras he already owned. It supports running multiple AI models at once, including the newly added Google Perch v2 alongside BirdNET, for different detection strategies or regional species lists. Species-specific alert rules, a per-yard new-species log, Home Assistant integration over MQTT, Discord notifications, and optional data sharing to the BirdWeather community platform are all built in; a separate free iOS app (BirdNET-Go Companion, by Robert Oesterlin) can connect to a self-hosted server for viewing detections on a phone.

How solid is it

The account comes with a full year of real usage data rather than a first-impressions writeup: 418,726 detections, 271 unique species, and a 60.9% average confidence rating, with a named top species (House Finch, 118,667 detections) for the author's Southern California location. The setup also correctly flagged bats and frogs as side effects of listening continuously, and the author reports checking the dashboard daily with his wife and learning new patterns in yard visitors over that time.

Risks and caveats

A 60.9% average confidence rating means a meaningful share of individual detections are less certain than that average, and the author is explicit that he and his wife are not trained birders verifying each call. The microphones mute automatically when they detect human speech, which limits but does not eliminate the privacy exposure of running always-on audio capture on cameras originally installed for security; the author also opened the dashboard to friends on his household's public domain, behind Cloudflare. Microphone placement matters: the author notes a channel can end up dominated by noise from a nearby air conditioner or wind rather than useful audio. The system cannot function as a doorbell on its own, only alongside a doorbell that already exposes an RTSP feed.

“It's one of those homelab projects that actually improves daily life instead of just being technically interesting.”

— the author