Sobre el proyecto

BirdNET-Go Remote Mic es un único binario en Go puro que captura audio de micrófonos locales (USB o I2S) en pequeños hosts Linux como Raspberry Pi y lo transmite por la red como RTSP/RTP estándar, diseñado para alimentar el análisis de sonidos de aves de BirdNET-Go. No se necesita ffmpeg ni un servidor multimedia independiente. Capacidades principales: - Codificación de audio: Opus a 48 kHz para cantos de aves normales (bajo ancho de banda), o PCM sin procesar (L16) a altas frecuencias de muestreo de hasta 384 kHz para grabación ultrasónica, como la detección de murciélagos. - Servidor RTSP/RTP de implementación propia: TCP intercalado por defecto para una entrega sin pérdidas y compatible con firewalls. Compatible con ffmpeg, VLC y el cliente de ingesta de BirdNET-Go. Admite hasta 8 clientes concurrentes por flujo con codificación compartida. - Descubrimiento mDNS/DNS-SD: Cada dispositivo se anuncia como una instancia _rtsp._tcp con registros TXT que incluyen códec, frecuencia, canales, ruta y detalles de autenticación. - Interfaz web HTTPS integrada (puerto predeterminado 8443): Panel con medidores de nivel en vivo por canal, estado del flujo, URL de RTSP con copia en un clic y contadores de fotogramas descartados. La pestaña Sistema muestra telemetría del host, información de red y control de acceso. La lista de Dispositivos Disponibles permite habilitar hardware de captura desde el navegador sin editar archivos de configuración. - Soporte multidispotivo: Un binario por host sirve cualquier número de dispositivos de captura, cada uno con su propia ruta RTSP e instancia mDNS. - Identificación estable de dispositivos: Utiliza números de serie USB o ID de puertos físicos en lugar de números de tarjeta ALSA volátiles, por lo que los dispositivos sobreviven a reinicios y reconexiones. - Autenticación mediante token de acceso para proteger los flujos. - Gestión de servicio systemd con instalación automática, primer arranque sin configuración y autoactualización mediante manifiestos de versión firmados con reversión automática en caso de fallo. Las opciones de instalación incluyen binarios precompilados para Linux amd64, arm64 y ARM de 32 bits, Homebrew, paquetes .deb, tarball y compilación desde el código fuente. El aparato está orientado a sistemas de la familia Debian y cualquier host con systemd.