Cómo instalar F1 Replay Timing en Docker: Revive las carreras de F1 con datos en tiempo real con F1 Replay Timing
F1 Replay Timing: Revive las carreras de F1 con datos en tiempo real
Mapa de circuito interactivo, telemetría de pilotos, timing en vivo y sincronización con grabaciones. Todo autohospedado en Docker.
¿Qué es F1 Replay Timing?
F1 Replay Timing es una aplicación web de código abierto que te permite revivir sesiones de Fórmula 1 (carreras, clasificaciones, prácticas) con datos de telemetría y timing en tiempo real. Funciona tanto para sesiones en vivo durante fines de semana de carrera como para replays de sesiones pasadas desde 2024 en adelante.
La aplicación muestra un mapa del circuito con las posiciones GPS de todos los coches actualizándose cada 0.5 segundos, una tabla de clasificación completa con gaps, neumáticos, paradas en boxes y penalizaciones, telemetría detallada de cualquier piloto (velocidad, acelerador, freno, marchas, DRS), mensajes de control de carrera, datos meteorológicos y mucho más.
Características principales
Timing en vivo (Beta)
Conéctate a sesiones en vivo durante fines de semana de carrera con datos en tiempo real desde el stream SignalR de F1, incluyendo ajuste de delay de transmisión.
Mapa de circuito interactivo
Posiciones GPS de todos los coches en tiempo real, actualizándose cada 0.5 segundos con interpolación suave.
Tabla de clasificación completa
Posición, gap al líder, intervalo, compuesto y edad de neumáticos, historial de neumáticos, número de paradas, cambios desde la parrilla, vuelta rápida, y estado de investigaciones/penalizaciones.
Mensajes de control de carrera
Decisiones de comisarios, investigaciones, penalizaciones, límites de pista, y cambios de banderas mostrados en un overlay redimensionable sobre el mapa.
Predicción de posición tras parada (Beta)
Estima dónde se reincorporaría un piloto si hiciera un pit stop ahora, con gap predicho adelante y atrás, usando tiempos de pérdida precalculados por circuito con ajustes para Safety Car y VSC.
Telemetría detallada
Velocidad, acelerador, freno, marcha y DRS (hasta 2025) de cualquier piloto, graficados contra la distancia del circuito.
Modo Picture-in-Picture
Ventana flotante compacta con mapa de circuito, control de carrera, tabla de clasificación y telemetría.
Sincronización con transmisión
Sincroniza el replay con una grabación de la sesión, ya sea subiendo una captura de pantalla de la torre de timing (usando IA) o ingresando gaps manualmente.
Datos meteorológicos
Temperatura del aire y pista, humedad, viento y estado de lluvia.
Banderas de estado de pista
Verde, amarilla, Safety Car, Virtual Safety Car, y bandera roja.
Controles de reproducción
Velocidades de 0.5x a 20x, botones de salto (5s, 30s, 1m, 5m), salto entre vueltas, y barra de progreso.
Soporte completo de sesiones
Carreras, clasificaciones, sprint qualifying y prácticas desde la temporada 2024 en adelante.
Cómo funciona
La aplicación está compuesta por tres componentes principales:
- Frontend: Next.js (React) con Tailwind CSS para la interfaz de usuario
- Backend: FastAPI (Python) que sirve datos precalculados desde almacenamiento local o Cloudflare R2
- Fuente de datos: FastF1 (usado solo durante el procesamiento de datos)
Los datos de sesión se procesan una vez y se almacenan localmente. Puedes preprocesar datos en bulk con anticipación, o dejar que la aplicación procese sesiones bajo demanda cuando las selecciones. El procesamiento de una sesión individual toma 1-3 minutos la primera vez, después el acceso es instantáneo.
Instalación con Docker (recomendado)
Requisitos previos
- Docker y Docker Compose instalados
- Al menos 4 GB de RAM disponible
- Espacio en disco: 2-10 GB dependiendo de cuántas sesiones preproceses
Paso 1: Crear el directorio del proyecto
Paso 2: Crear el archivo docker-compose.yml
Crea el archivo con el siguiente contenido:
Paso 3: Iniciar los contenedores
Paso 4: Acceder a la aplicación
Abre tu navegador y ve a: http://localhost:3000
Selecciona cualquier sesión pasada y se procesará automáticamente bajo demanda.
Configuración de red y URLs
Dos variables de entorno controlan cómo el frontend y backend se comunican:
Ejemplo: Acceso desde otros dispositivos en tu red local
Ejemplo: Detrás de un reverse proxy
En este caso, tu reverse proxy enruta f1.tudominio.com al frontend (puerto 3000) y api.f1.tudominio.com al backend (puerto 8000).
Características opcionales
Sincronización con foto/captura de pantalla
Para habilitar la sincronización mediante IA que lee la torre de timing desde una foto, necesitas una API key de OpenRouter:
Obtén una API key gratuita en openrouter.ai. Usa el modelo Gemini Flash para leer la tabla de clasificación de la foto.
Autenticación con contraseña
Si quieres restringir el acceso cuando la aplicación esté accesible públicamente:
Preprocesamiento de datos
Puedes preprocesar sesiones con anticipación en lugar de esperar a que se procesen bajo demanda. Esto es útil si quieres tener todos los datos listos antes de usar la aplicación.
Procesar un fin de semana de carrera específico
Procesar solo la carrera (omitir prácticas y clasificación)
Procesar una temporada completa
Procesar múltiples años
- Una sesión individual (ej: una carrera): 1-3 minutos
- Un fin de semana completo (FP1, FP2, FP3, Q, R): 3-5 minutos
- Una temporada completa (~24 rondas, todas las sesiones): 2-3 horas
Cómo usar la aplicación
1. Seleccionar una sesión
En la página principal, elige un año, carrera y tipo de sesión (Carrera, Clasificación, Sprint, Práctica). Si los datos no están procesados, la aplicación los procesará automáticamente.
2. Explorar los datos
- Mapa del circuito: Ve las posiciones de todos los coches en tiempo real
- Tabla de clasificación: Analiza gaps, neumáticos, paradas y penalizaciones
- Telemetría: Haz clic en cualquier piloto para ver sus datos técnicos
- Control de carrera: Lee mensajes de comisarios y cambios de banderas
- Meteorología: Consulta temperatura, humedad y lluvia
3. Controles de reproducción
- Ajusta la velocidad de 0.5x a 20x
- Salta adelante/atrás (5s, 30s, 1m, 5m)
- Salta entre vueltas específicas
- Usa la barra de progreso para ir a cualquier momento
4. Sincronización con grabación (opcional)
Si tienes una grabación de la carrera:
- Toma una captura de pantalla de la torre de timing
- Súbela en la sección "Broadcast Sync"
- La IA leerá los gaps y sincronizará el replay
- Alternativamente, ingresa los gaps manualmente
Gestión de los contenedores
Ver logs en tiempo real
Reiniciar los servicios
Detener la aplicación
Actualizar a la última versión
Ver datos almacenados
Casos de uso
- Análisis de carreras: Estudia estrategias de neumáticos, timing de pit stops y adelantamientos
- Revivir momentos épicos: Vuelve a ver carreras históricas con datos completos
- Educación: Enseña conceptos de estrategia y telemetría de F1
- Streaming y comentarios: Usa el overlay para streams con datos en vivo
- Análisis comparativo: Compara rendimiento de pilotos en el mismo circuito
- Seguimiento en vivo: Durante fines de semana de carrera, sigue sesiones en tiempo real con datos detallados
Comentarios
Publicar un comentario