Todas las apps de Studio
Visión & CCTV

Conteo de personas

IN/OUT · ocupación

Contá personas cruzando una línea dibujada sobre el video en vivo — totales IN/OUT, ocupación en vivo y alertas de aforo.

streamhub.studio/studio/people-counter
Conteo de personas
El problema

El footfall y la ocupación en vivo mueven decisiones reales — dotación, conversión, límites de aforo — pero los números suelen vivir en una caja contadora aparte atornillada sobre la puerta. Conteo de personas los lee directamente de la cámara que ya tenés, con la línea de conteo dibujada sobre el frame en vivo para que veas exactamente qué cuenta.

Casos de uso

Retail

Footfall y conversión de tienda

IN/OUT en la entrada te da visitas en el tiempo; combinalo con ventas para conversión, y con ocupación en vivo para el dwell — sin hardware contador aparte.

Seguridad / Retail

Límites de aforo

Definí un umbral de aforo y dispará un evento occupancy.limit cuando la sala se llena, re-armándose al vaciarse — para locales, tiendas o salas de espera con un tope legal o de confort.

Personal

Flujo por portón o molinete

Contá personas por un pasillo, portón o molinete para entender el flujo y los picos a lo largo de un turno.

Cómo funciona

Entrada

HLS en vivo + una línea dibujada

Un worker toma el stream en vivo por HLS. Dibujás (y rotás) la línea de conteo y su flecha IN sobre un frame en vivo en el dashboard; persiste como coordenadas normalizadas.

Detección

YOLOv8 + ByteTrack

Detección de personas más tracking ByteTrack con una config afinada en producción cuenta un cruce solo cuando una persona rastreada aparece a ambos lados de la línea.

Callback firmado

in / out / occupancy.limit

count.in, count.out y occupancy.limit se POSTean a tu URL de callback, firmados con el mismo esquema HMAC que los callbacks de la app — un solo verificador sirve para ambos.

Tu sistema

Panel en vivo + historial

Los totales y la ocupación en vivo se ven en la pestaña del dashboard; cada cruce y muestra de ocupación persiste en SQLite por plugin para tus reportes.

Eventos que emite

Declarados en el manifiesto del plugin y retransmitidos por los callbacks firmados con HMAC de la app (webhook + MQTT). Cualquier cosa que un worker intente emitir fuera de esta lista se rechaza — sin suplantar eventos del core.

count.in count.out occupancy.limit

Alcance y límites

  • La precisión depende mucho más de la ubicación de la cámara que del tamaño del modelo: una vista cenital o de ángulo alto con la línea cruzando el paso cuenta con fiabilidad; vistas frontales de ángulo bajo causan fallos por oclusión sin importar el modelo.
  • Una persona debe muestrearse a ambos lados de la línea para contar — al FPS por defecto eso cubre el paso a pie, no una corrida por la puerta.
  • Cuenta cruces, no identidades: no distingue a un comprador que vuelve de uno nuevo.

Requisitos mínimos

  • Solo CPU por defecto: yolov8n a 3–5 fps, entrada ≤ 720p, ~0,5–1,5 núcleos por worker — suficiente para entradas a paso de caminata. No corras modelos más grandes en CPU; se atrasan del borde en vivo.
  • RAM: ~1,5 GB por worker. Los pesos del modelo (~6 MB) se descargan solos en el primer arranque; SQLite crece ~100 bytes por cruce.
  • GPU opcional (CUDA): cualquier tamaño de modelo rastrea cómodo a 10–30 fps.

Los números son mediciones honestas de los autores del plugin, no marketing. La GPU es opcional en cada plugin de visión salvo donde se indique.

Corre como una app completa

Cada app de Studio es una aplicación de primera clase, no un modal de configuración — y no tiene por qué vivir dentro de StreamHub.

Vista de página completa en el dashboard

Se abre como su propia página dentro de la app tenant — zonas, paneles en vivo, historial y ajustes en una sola superficie, no apretados en un diálogo.

Su propia base de datos

Guarda su estado en una base SQLite dedicada por app — lecturas, alertas, ocupación y filas de evidencia — que es tuya y podés consultar.

Bundle exportable

Descargá la app como un bundle autocontenido — worker, Dockerfile, compose y una plantilla de env — para hostearla en tu propia infra y extenderla, hablando de vuelta por la API REST y los webhooks firmados.

¿Tenés cámaras o streams para poner a trabajar?

Contanos qué estás monitoreando y definimos las apps correctas, las conectamos a tus sistemas y las operamos con vos. El software es open source — el despliegue y la operación es lo que hacemos.