Skip to content
Ben's Tech
Go back

BirdNET-Go: Backyard Bird Identification over RTSP

Edit page

Today I set up BirdNET-Go to automatically identify bird species calling in our yard. It runs an artificial intelligence identification model against a continuous live audio feed — logging species in real time so I can see what is visiting without staring out the window all day.

Here is the setup in action catching a live detection of a Mississippi Kite — a pair currently has a nest with young in our yard:

BirdNET-Go live audio spectrograph detecting a Mississippi Kite

The Setup

The architecture splits across two home lab nodes:

Maono USB mic (Pi 3B) → FFmpeg → MediaMTX → RTSP → BirdNET-Go (Docker)

Audio Capture & RTSP Streaming

At the edge, a Maono USB lavalier microphone hangs outdoors directly from the coax cable on my ADS-B antenna mount.

Maono lavalier microphone hanging from the ADS-B antenna cable

A Raspberry Pi 3B captures mono audio with FFmpeg and uses MediaMTX to publish a lightweight Opus RTSP stream (/yard_audio) on port 8554.

Processing with BirdNET-Go

On the main Ubuntu server, BirdNET-Go runs in Docker and subscribes to the Pi’s RTSP feed. With coordinates configured for Oklahoma City, the model filters detections to species plausible for our area.


What’s Next

The microphone is hanging outdoors for now; I plan to mount it under the eaves for better weather protection. Longer term, I want to log detections alongside weather data to track species activity by time of day and season.


Edit page
Share this post on:

Previous Post
Building a Second Brain for the Homelab
Next Post
InkyPi: Building a Colour E-Ink Dashboard