Cómo procesa el clúster en el borde
Edge no es una app — es cómo procesa el clúster de StreamHub. Cualquier app edge-capable puede correr co-ubicada en el master o distribuida, por stream, en nodos edge. Un nodo edge es simplemente un equipo — GPU o CPU — que se conecta HACIA tu master por un único WebSocket, sin endpoint público ni puertos entrantes, amigable con NAT por diseño. El master reparte el trabajo; cada nodo baja sus streams asignados por HTTPS, corre el worker de la app y devuelve las detecciones como eventos firmados.
- Se conecta hacia afuera — amigable con NAT
- Nodos GPU o CPU
- Asignación por stream
- Eventos firmados + MQTT
El edge se conecta hacia vos
El master mantiene un único WebSocket saliente por cada nodo edge. Esa sola conexión lleva todo en ambos sentidos — así un nodo edge detrás de NAT, en una LAN hogareña o en una región cloud no necesita ninguna dirección pública ni puerto entrante abierto.
Master
Ingesta tus cámaras a HLS, gestiona tags y zonas poligonales, reparte asignaciones entre nodos y corre el watchdog + el fan-out de notificaciones.
Nodo edge
Se conecta por wss, recibe sus asignaciones, baja cada stream por HTTPS, corre los modelos de visión y devuelve las detecciones.
El edge se conecta hacia afuera
Al instalarse, el nodo abre un WebSocket hacia el master (auth por token de clúster) y se registra. Sin puerto entrante, sin endpoint público — funciona detrás de cualquier NAT.
El master asigna el trabajo
El scheduler reparte cada (stream × modelo) a un nodo por política round-robin o ponderada, con guarda por memoria de GPU, failover y failback.
El edge corre los modelos
El nodo baja el stream por HTTPS y corre el modelo asignado sobre tus zonas poligonales y la configuración por stream.
Las detecciones vuelven
Cada detección vuelve al master como webhook firmado, mensaje MQTT y línea de log rotado por app — con los tags del stream adjuntos.
¿Todavía sin equipo edge? El mismo runtime corre co-ubicado en el master, así una instalación de un solo nodo analiza sus propios streams sin nada más que desplegar.
El edge corre tus apps del marketplace
Edge no es una sola app — es cómo el clúster corre las apps del marketplace que se suman. Cualquier app edge-capable puede asignarse por stream a un nodo: el nodo baja ese stream por HTTPS, corre el worker propio de la app con la config y los tags de ese stream, y devuelve las detecciones por el mismo canal. Las cuatro apps de visión encabezan; cualquier otra app edge-capable sigue el mismo camino.
Aforo
YOLO11 + ByteTrack siguen personas o vehículos dentro de zonas poligonales con tags. Sesiones en vivo por zona, con alertas de límite de aforo tras una permanencia configurable.
Conteo de personas
Cruce de línea IN/OUT a cadencia fija — en tiempo real, no un batch nocturno. Varias líneas con tags por stream, con un conteo interno vivo contra una capacidad opcional.
Multitud
Frames muestreados contados contra un umbral por zona durante varios ciclos, así un pico levanta una alerta anotada solo cuando la multitud realmente persiste.
Demografía
InsightFace local por defecto para edad, género y emoción. Opcionalmente enviás snapshots a la visión de OpenAI o DeepSeek por config, con un tope de presupuesto mensual.
Presencia
Monitoreo de puestos — ausente, volvió, fuera de horario.
Conteo de personas
Footfall por cruce de línea y ocupación en vivo con alertas de aforo.
Perímetro
Intrusión con horario armado y evidencia de captura + clip.
Reconocimiento de patentes
ALPR en tiempo real con veredictos de lista blanca / negra.
Monitor de EPP
Monitor consultivo de casco y hi-viz (experimental).
Detección de objetos YOLO
Detección de propósito general sobre cualquiera de las 80 clases COCO.
Deface
Ofuscación de rostros del lado del servidor para privacidad en el reproductor.
Transcripción, cockpit y fleet quedan solo-locales — no tienen un worker distribuible por stream.
Asignada por stream
Un nodo no corre “una app” — corre streams específicos de una app. El scheduler ubica un worker por (app × stream), balanceado round-robin o ponderado, respeta la capacidad de GPU/VRAM de cada nodo, y pasa el trabajo a un nodo sano si uno cae. Cambiá una zona o una línea y el master reempuja la config resuelta al nodo que tenga ese stream.
Detecciones emitidas
Nombres de eventos declarados en la app de visión — cada payload lleva la app, la sala, el nodo, el modelo, los tags y el timestamp.
Cómputo donde tiene sentido
Sumás capacidad sumando equipos. Cada nodo es descartable, asignable y vigilado — y nunca necesita ser accesible desde internet.
Amigable con NAT por diseño
El edge mantiene un único WebSocket saliente hacia el master. Sin puerto entrante, sin endpoint público, sin VPN — corre igual desde una LAN hogareña, la trastienda de un local o una región cloud.
Nodos GPU o CPU
Corré un nodo en un equipo con GPU para visión pesada multi-stream, o en CPU pura para cargas más livianas. El scheduler respeta las capacidades y la VRAM de cada nodo.
Round-robin o ponderado
Balanceá las asignaciones en partes iguales, o dale a los nodos más grandes una porción mayor con un peso por nodo. Rebalancea según la dispersión y reasigna ante una falla, con un failback gradual.
Watchdog + notificaciones
Un watchdog de clúster dispara node.online / node.offline apenas cae un socket, con fan-out a callback, MQTT, email, Discord y Telegram — con restart y reboot desde el master.
Tags + zonas poligonales
Etiquetás streams y salas, y después dibujás zonas poligonales y líneas de conteo sobre el player en vivo. La config resuelve defaults del modelo → config del tag → overrides por stream.
Detecciones a tu manera
Cada detección sale como webhook firmado con HMAC, mensaje MQTT y línea de log rotado por app — más el historial SQLite propio de cada app que podés consultar por app.
Sumá un nodo edge en un comando
Apuntá un equipo nuevo a tu master con un token de clúster. El instalador se une al clúster, instala el runtime edge y empieza a conectarse hacia afuera — sin puertos que abrir en el nodo.
$ curl -fsSL https://www.streamhub.studio/install.sh | sudo bash -s -- \
--join --node-type edge --cluster-token <token> --origin-ip <ip>
- Solo saliente — nada que exponer en el edge
- GPU autodetectada; cae a CPU
- Idempotente: re-ejecutá para actualizar, los secretos se preservan
- El mismo runtime co-ubicado en una instalación de un solo nodo
¿Tenés cámaras para poner a trabajar?
Contanos qué necesitás ver — aforo, conteo, multitudes, demografía — y dimensionamos los nodos, cableamos los eventos a tus sistemas y lo operamos con vos. El software es open source; el despliegue y la operación es lo que hacemos.