๐Ÿฆ Open Source ยท Apache 2.0

LyreBirdAudio

Production-hardened RTSP audio streaming for USB microphones. 24/7 reliability with automatic recovery, persistent device naming, and comprehensive diagnostics โ€” built entirely in Bash.

๐Ÿง Linux / Raspberry Pi ๐ŸŽ™๏ธ USB Microphones ๐Ÿ“ก RTSP Streaming ๐Ÿ”„ Auto-Recovery ๐Ÿ“Š Prometheus Metrics

What is LyreBirdAudio?

LyreBirdAudio turns USB microphones into reliable, always-on RTSP audio streams. Built on top of MediaMTX and FFmpeg, it handles every aspect of long-term unattended operation: device persistence across reboots, automatic stream recovery, health monitoring, alerting, and metrics export โ€” all without requiring Docker, Python runtimes, or complex dependencies.

Originally created to monitor bird activity using USB microphones on spare mini PCs, it has grown into a complete, production-hardened streaming suite suitable for wildlife monitoring, environmental sensing, security audio, and any scenario requiring continuous, reliable audio capture.

Key Features

Architecture Overview

At its core, LyreBirdAudio uses FFmpeg to capture audio from ALSA devices and push RTSP streams to MediaMTX, which serves them to any RTSP-compatible client. USB devices are given permanent names through udev rules, so streams keep their names across reboots even when USB enumeration order changes.

Layer Technology Role
Clients VLC, FFplay, OBS, custom Consume RTSP streams
Media Server MediaMTX RTSP / WebRTC / HLS serving
Capture FFmpeg + ALSA Audio encoding & publishing
Device Layer udev rules Persistent USB device names
Management Bash scripts + systemd Lifecycle, recovery, monitoring

Components at a Glance

Get Streaming in 5 Minutes

  1. Clone the repository
    git clone https://github.com/tomtom215/LyreBirdAudio.git
    cd LyreBirdAudio
    chmod +x *.sh
  2. Launch the setup wizard
    sudo ./lyrebird-orchestrator.sh
    # Select: Quick Setup Wizard
  3. Access your streams
    rtsp://your-server-ip:8554/device-name

The wizard installs MediaMTX, maps USB devices, generates an optimal configuration, starts streams, and runs initial diagnostics โ€” all in one guided flow. See the Quick Start guide for more detail.

Platform Support

PlatformSupportNotes
Ubuntu 20.04+ โœ“ Recommended Primary development platform
Debian 11+ โœ“ Supported Fully tested
Raspberry Pi OS โœ“ Supported Max 2 USB mics recommended
Intel N100 Mini PC โœ“ Recommended 4+ mics, best stability
macOS / Windows โœ— Not supported Linux-specific udev required

Project Info

LicenseApache 2.0
LanguageBash 4.0+
AuthorTom F (tomtom215)
GitHubtomtom215/LyreBirdAudio
IssuesGitHub Issues
DiscussionsGitHub Discussions