Edge

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
Cómo funciona

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

core de StreamHub

Ingesta tus cámaras a HLS, gestiona tags y zonas poligonales, reparte asignaciones entre nodos y corre el watchdog + el fan-out de notificaciones.

Asignaciones · comandos · config
Telemetría · detecciones · logs

Nodo edge

GPU o CPU

Se conecta por wss, recibe sus asignaciones, baja cada stream por HTTPS, corre los modelos de visión y devuelve las detecciones.

01

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.

02

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.

03

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.

04

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.

Apps en el edge

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.

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.

Por qué nodos edge

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.

Quickstart

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.

Unirse al clúster como nodo edge
$ 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.