Detección de objetos en vivo con el plugin YOLO
Instalá el plugin YOLO y un worker Python corre detección de objetos sobre tu stream en vivo, dibujando cajas delimitadoras en el overlay del reproductor. Gestionado por el framework, sin código pegamento.
Detección como plugin
El plugin YOLO convierte cualquier sala en vivo en un feed de detección. Es un plugin processor con un worker Python: el framework arranca el worker cuando habilitás el plugin, el worker corre YOLO (ultralytics) sobre el stream, y las detecciones se dibujan como cajas delimitadoras en el overlay del reproductor — incluso en las páginas públicas /play y /embed.
No escribís código pegamento. El plugin declara needsWorker: true y un spawn(ctx) puro, y el framework gobierna el ciclo de vida del proceso: habilitarlo lo arranca, deshabilitarlo lo detiene, y start/stop/status/logs se exponen por la API.
Instalar y habilitar
curl -X POST $BASE/apps/live/plugins/yolo/install \
-H "Authorization: Bearer $TOKEN"
curl -X PATCH $BASE/apps/live/plugins/yolo \
-H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
-d '{"enabled": true, "config": {"room": "studio"}}'
Cada campo de config tiene un default, así una instalación fresca es válida en el momento en que la apuntás a una sala.
Cómo fluye
- El worker lee el stream en vivo de la app.
- Corre el modelo YOLO por cuadro muestreado y encuentra objetos.
- Ante una detección hace POST de las cajas al canal de datos en vivo del plugin (autenticado con un token de ingesta por arranque).
- El overlay del reproductor consulta ese canal y dibuja las cajas sobre el video, del lado cliente.
A diferencia del plugin de difuminado de rostros, YOLO solo postea ante un acierto — sin detección no hay actualización, lo que mantiene el canal tranquilo en escenas vacías.
Chequear el worker
curl $BASE/apps/live/plugins/yolo/worker/status \
-H "Authorization: Bearer $TOKEN"
curl "$BASE/apps/live/plugins/yolo/logs?limit=200" \
-H "Authorization: Bearer $TOKEN"
El endpoint de estado te dice si el worker está corriendo; el de logs sigue su salida para depurar un problema de modelo o de rendimiento.
Notas de rendimiento
La detección consume mucha CPU. Mantené modesta la tasa de cuadros muestreados y reducí la escala de los cuadros grandes para la detección — rara vez necesitás resolución completa para encontrar una persona o un auto. El archivo del modelo se descarga en la primera corrida y se comparte entre todas las apps del nodo. Para cargas pesadas una GPU rinde, pero el worker degrada con gracia en hosts solo-CPU.
Qué construir con esto
Conteo de personas en un local, detección de vehículos en una cámara de estacionamiento, alertas de zona de seguridad en una planta — donde quieras que el stream en sí se vuelva una señal. Combiná las detecciones con un consumidor de webhooks y YOLO se convierte en los ojos de una automatización, no solo en un overlay.