Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

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

Ver códigoProblemas y ayudaRepositorio ↗
00

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.

CASOS DE USO
  • 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
PUNTOS DESTACADOS
  • 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
PRECAUCIONES
  • 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
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU4 vCPUrecomendación inicial
MEMORIA8 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADlownivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Despliegue manual

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.

—Dockerfile
—Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.js
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
No detectados
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

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.