harmony
Harmony es una herramienta de compartición de pantalla autohospedada con latencia subsegundo. Utiliza un servidor relay puro (MediaMTX) que no transcodea video, ahorrando CPU y permitiendo funcionar en hardware limitado como Raspberry Pi 5 o VPS económicos.
Ficha actualizada 22 sept 2026, 16:37 · upstream 20 sept 2026, 14:59 · release sin release detectada
Qué es harmony
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
El proyecto implementa una arquitectura de reenvío de paquetes donde el cliente codifica H.264 con GPU y el servidor solo relaya los RTP packets sin tocar píxeles. El cliente está construido con Electron para Windows, mientras que el servidor corre en Linux (x86-64 o arm64). La interacción se basa en nombres de usuario temporales sin sistema de cuentas robusto.
Destaca por su capacidad de mosaico visual y gestión independiente de audio por tile. Incluye funcionalidad de clips locales grabando los últimos 30 segundos del stream codificado original. Es ideal para grupos de confianza o redes LAN donde la seguridad perimetral es manejada externamente.
No está diseñado para entornos críticos sin equipo de operaciones, ya que carece de auditoría de seguridad, control de abuso y garantías de estabilidad a largo plazo. Requiere configuración manual de puertos UDP/TCP y gestión de ancho de banda de subida.
- Compartición de pantalla en tiempo real para reuniones informales
- Monitorización de múltiples streams simultáneos en mosaico
- Grabación local de clips sin re-codificación del video
- Streaming desde hardware limitado como Raspberry Pi 5
- Latencia subsegundo por ausencia de buffer y transcoding
- Arquitectura ligera que escala con ancho de banda, no CPU
- Soporte nativo para redes bloqueando UDP vía ICE-TCP fallback
- Codificación GPU automática (NVENC, Quick Sync) con fallback software
- Ausencia de auditoría de seguridad o fuzzing externo
- Sin gestión de usuarios ni autenticación robusta más allá de contraseña simple
- No hay control de abuso ni rate limiting por usuario
- Sin alta disponibilidad ni mecanismos de failover automáticos
- Dependencia de ancho de banda de subida del servidor para cada viewer
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Requiere servidor Linux (x86-64/arm64) con 512MB RAM y ~150MB disco. El ancho de banda de subida es el recurso crítico: cada espectador consume una copia del stream. Se puede desplegar vía Docker o binario directo ejecutando sudo server/install.sh. Es obligatorio abrir los puertos 8080 (control) y 8189/8889 (media UDP/TCP). El cliente se genera localmente con npm run build.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.