Sobre el proyecto

µStreamer (ustreamer) es un servidor de streaming MJPEG de alto rendimiento diseñado para capturar vídeo desde cualquier dispositivo compatible con V4L2 —cámaras web, dongles de captura HDMI/VGA, cámaras de Raspberry Pi— y servirlo por HTTP a navegadores y reproductores como VLC. Fue creado como parte del proyecto PiKVM para ofrecer máxima resolución y velocidad de fotogramas en casos de uso de KVM remoto sobre IP. Capacidades clave evidenciadas en el README: - Codificación JPEG multihilo para una mejor utilización de la CPU. - Codificación acelerada por hardware mediante V4L2 M2M en Raspberry Pi (kernel ≥5.15). - Soporte de DV-timings: se adapta dinámicamente a cambios de resolución de la fuente (por ejemplo, conexión en caliente de HDMI). - Streaming persistente: muestra un marcador de posición "NO LIVE VIDEO" cuando el dispositivo de entrada se desconecta y se reanuda automáticamente al reconectar. - Deduplicación de fotogramas (`--drop-same-frames`) para reducir drásticamente el ancho de banda en fuentes digitales estáticas como HDMI. - Soporte de socket de dominio UNIX y activación por socket de systemd. - Señalización GPIO (mediante libgpiod) para indicar el estado del stream. - Servicio de archivos HTTP integrado e integración con Janus WebRTC para streaming H.264. - Compatible con la API HTTP de mjpg-streamer como reemplazo directo. La instalación se realiza mediante compilación desde el código fuente (Makefile) o paquetes de distribución (Arch, Fedora, Debian/Ubuntu, OpenWRT, FreeBSD). Se proporcionan imágenes Docker para configuraciones de captura HDMI en Raspberry Pi 4. La configuración se realiza completamente por línea de comandos; las invocaciones típicas en producción especifican el formato de entrada, el codificador por hardware, los hilos de trabajo, los DV-timings y los umbrales de descarte de fotogramas. El proyecto está licenciado bajo GPL-3.0-or-later.