Prerrequisitos
Este taller se construye entero desde cero. No hay nada que clonar ni que descargar: todos los archivos que necesitas están escritos en estas páginas, y los vas a ir creando tú.
Lo único que hace falta es tener Python listo.
Lo que debes tener instalado
- Python 3.12 o superior. Compruébalo con
python --version. Si te sale 3.10 o menos, actualiza: vamos a usarasyncio.timeoutyasyncio.TaskGroup, que llegaron en la 3.11 y no existen antes. Descárgalo de python.org. - Un editor de código. VS Code va perfecto, pero cualquiera sirve.
Lo que debes saber
Que te sientas cómodo escribiendo funciones y clases en Python, y que entiendas una list comprehension cuando la veas. Nada de asyncio: eso lo construimos desde cero a partir del paso 6.
Crea la carpeta del proyecto
Abre una terminal y prepara el sitio donde vas a trabajar:
mkdir async-video-pipeline
cd async-video-pipeline
python -m venv venv
Activa el entorno virtual. Este comando cambia según tu sistema:
- Linux
- macOS
- Windows
Sabrás que funcionó porque aparece (venv) al principio de tu línea de comandos. A partir de aquí, todos los comandos del taller asumen que el entorno está activo. Si cierras la terminal, vuelve a activarlo.
Ojo
Este es el olvido más común del taller, y da errores confusos: ModuleNotFoundError de paquetes que sí instalaste, o un python que no es el que crees. Si algo raro pasa, lo primero que debes mirar es si tienes el (venv) delante.
Instala las dependencias
pip install aiohttp fastapi uvicorn opencv-python numpy
Eso es todo lo que necesitas para el taller completo. Para que veas de dónde sale cada cosa:
- aiohttp es el cliente y servidor HTTP asíncrono. Es la pieza con la que vas a leer las cámaras y hablarle al modelo.
- fastapi y uvicorn levantan los dos servicios que simulan el mundo exterior.
- opencv-python y numpy leen los videos y manipulan las imágenes.
El modelo de detección, opcional
Este taller funciona de principio a fin con un modelo simulado que tarda 30 milisegundos y devuelve detecciones inventadas. Para aprender la arquitectura da exactamente igual, y te ahorra una descarga de más de un gigabyte.
Si quieres detección real de objetos, instala también:
pip install ultralytics
Ojo
ultralytics arrastra PyTorch, que pesa bastante y en algunas máquinas se resiste a instalarse. Si falla, no pierdas tiempo peleándote: sigue con el modelo simulado. Todo el taller, incluidas las mediciones y los capítulos bonus, funciona igual.
Checkpoint · Antes de seguir
Ejecuta estos dos comandos y confirma que ambos responden bien:
python --version debe decir 3.12 o superior.
python -c "import aiohttp, fastapi, cv2, numpy; print('todo listo')" debe imprimir todo listo sin errores.
Con eso ya puedes pasar al mapa del proyecto, que te va a decir qué archivos vas a escribir y para qué sirve cada uno.