Guzmán D. Darío Senior Python Developer Español Hire me
Taller autoguiado

De bloqueante a tiempo real: un pipeline de video multi-cámara con asyncio

Portada · 23 pasos

Taller

De bloqueante a tiempo real: un pipeline de video multi-cámara con asyncio

¿Cómo lees varias cámaras a la vez, corres un modelo de detección sobre cada frame y publicas los resultados, todo en un solo hilo y sin perder cuadros por el camino? En este taller vas a partir del bucle bloqueante que casi todos escribimos la primera vez, medir lo mal que escala, y reconstruirlo paso a paso como un pipeline asíncrono: ingesta por sockets, inferencia detrás de un servicio, colas acotadas con política de descarte, tolerancia a fallos y apagado ordenado. Escribes cada archivo tú, desde el primero hasta el último, y cada paso termina con algo que corre.

Qué vas a construir

Un pipeline que ingesta varias cámaras MJPEG a la vez sobre un único hilo, envía cada frame a un servicio de detección por HTTP, conecta las etapas con colas acotadas que descartan lo viejo cuando la carga aprieta, y publica los eventos a un dashboard en vivo. Aguanta 64 cámaras, sobrevive a que una fuente se caiga, apaga en orden sin perder lo que está en vuelo, y te dice mirando una cola dónde está el cuello de botella. Más cuatro capítulos bonus: tu webcam, cámaras IP por RTSP, video del navegador por WebRTC, y cómo se ve todo esto cuando pasas a cientos de streams con GStreamer.

Objetivos de aprendizaje

Al terminar este taller vas a poder:

Prerrequisitos / Stack

Contenido del taller

  1. 01
    Prerrequisitos
  2. 02
    El mapa del proyecto
  3. 03
    El mundo exterior: cámaras y modelo
  4. 04
    El problema y el panorama
  5. 05
    La referencia: el número a batir
  6. 06
    asyncio 101: corrutinas, await y el event loop
  7. 07
    Tu primer gather, y el error que todos cometemos una vez
  8. 08
    La trampa de la CPU
  9. 09
    El executor, y el precio que trae
  10. 10
    El modelo detrás de un socket
  11. 11
    Ingesta asíncrona: transmitir, no leer
  12. 12
    Colas acotadas y backpressure
  13. 13
    Bloquear o descartar: elegir tu política
  14. 14
    El montaje: el pipeline completo
  15. 15
    Escala: sesenta y cuatro cámaras
  16. 16
    Resiliencia: cuando una cámara se cae
  17. 17
    Apagado limpio
  18. 18
    Observabilidad: qué te dice una cola
  19. 19
    Bonus: tu webcam, la excepción honesta
  20. 20
    Bonus: cámaras IP por RTSP
  21. 21
    Bonus: video del navegador con WebRTC
  22. 22
    Bonus: cientos de streams con GStreamer, y el supervisor
  23. 23
    Lo que lograste, y por dónde seguir