Undercut-F1 – TUI de live timing de F1 con seguimiento de pilotos y latencia variable
(github.com/JustAman62)- undercut-f1 es un cliente TUI de código abierto que registra la información de live timing de las sesiones de F1 para poder reproducirla después
- Puede recibir y visualizar datos de streaming basados en señales, o reproducir sesiones grabadas
- Ofrece torre de tiempos detallada por piloto, estrategia de pit stops, mensajes de control de carrera, análisis estratégico, seguimiento de posición de pilotos, team radio e historial por vuelta
- Los datos se guardan localmente y pueden usarse para desarrollo y pruebas, además de incluir modo de simulación
- Implementa una visualización usando los protocolos de imágenes de terminal de iTerm2, Kitty y otros
Introducción al proyecto undercut-f1
undercut-f1 es una herramienta de código abierto que visualiza la información de live timing de F1 en una TUI (interfaz de usuario de terminal) basada en CLI
Sus características principales son las siguientes:
- Representación audiovisual de los datos de sesiones de F1 en tiempo real
- El usuario puede grabar directamente los datos de la sesión y reproducirlos después
- Considerando la latencia promedio de la transmisión de F1 (30~60 segundos), ofrece una función de ajuste de retraso
- Aplicación CLI basada en
.NET, disponible como paquete NuGet o como ejecutable único
Funciones principales
-
Torre de tiempos
- Muestra registros por sector (con colores para mejor personal y mejor general)
- Último tiempo de vuelta y mejor tiempo de vuelta
- Tipo de neumático y tiempo de uso
- Diferencia de tiempo respecto al líder y al auto de adelante
- Comparación de diferencia de tiempo entre el piloto seleccionado y otros pilotos
-
Información de estrategia/stints
- Permite ver de un vistazo la estrategia de neumáticos de cada piloto
- Visualiza el momento de uso y la duración de cada neumático
- Facilita detectar diferencias de estrategia
-
Pantalla de control de carrera
- Permite revisar mensajes de race control como investigaciones oficiales, penalizaciones e información meteorológica
-
Tracker de pilotos
- Visualización en tiempo real de la posición en pista del piloto seleccionado
- Funciona en terminales compatibles con los protocolos de imágenes de iTerm2 y Kitty
- Permite seleccionar y comparar pilotos mediante el cursor
-
Historial de tiempos
- Permite revisar cambios de gap/interval por vuelta
- Ofrece gráficos de tendencia con los tiempos por vuelta y la diferencia con el líder de las últimas 15 vueltas
-
Escucha y transcripción de team radio
- Usa el modelo Whisper para transcribir localmente el team radio con reconocimiento de voz propio
- La calidad depende de la calidad del audio del día y también se están recibiendo sugerencias de mejora
Ejecución y replay de sesiones
-
Ejecutar una sesión en vivo
- Ejecutar
undercutf1 - Entrar a la pantalla de sesión con la tecla <kbd>S</kbd>
- Iniciar la sesión en vivo con la tecla <kbd>L</kbd>
- Ver la torre de tiempos con la tecla <kbd>T</kbd>
- Los datos de la sesión se guardan en
~/undercut-f1/data/<session-name>, por lo que pueden reutilizarse después para reproducción
- Ejecutar
-
Replay de una sesión grabada
- Se pueden copiar los datos de la carpeta
Sample Datao descargar los datos oficiales de la sesión para reproducirlos - Iniciar la simulación con la tecla <kbd>F</kbd> → seleccionar sesión → entrar a la torre de tiempos
- Se puede explorar rápidamente ajustando el retraso con la tecla <kbd>N</kbd>
- Se pueden copiar los datos de la carpeta
-
Descarga de datos de sesión
- Con el comando
undercutf1 import <year>se puede consultar la lista de sesiones de ese año - Se puede seleccionar una sesión para descargarla y convertirla localmente → luego reproducirla
- Con el comando
Funciones de cursor y gestión de latencia
- En todas las pantallas, el cursor se controla con las teclas <kbd>▲</kbd>/<kbd>▼</kbd>
- Ejemplo: al seleccionar un piloto específico, se puede visualizar la diferencia de tiempo tomando a ese piloto como referencia
- Con las teclas <kbd>M</kbd>/<kbd>N</kbd> se ajusta el retraso para sincronizar con la transmisión en vivo
- Si se pulsa junto con <kbd>Shift</kbd>, se ajusta en intervalos de 30 segundos
Fuente de datos y método de almacenamiento
- El stream de F1 Live Timing está basado en SignalR
- Recibe datos en tiempo real suscribiéndose a temas como:
TimingStats,TimingData,WeatherData,DriverList,RaceControlMessages,TeamRadio, etc.
- Durante una sesión, los datos se guardan en los siguientes dos archivos:
subscribe.txt: datos iniciales recibidos al suscribirselive.txt: todos los datos recibidos en tiempo real durante la sesión
Licencia
- Este proyecto es un proyecto de código abierto no oficial y no afiliado a la organización oficial de F1
- F1, FORMULA ONE y otras marcas relacionadas son propiedad de Formula One Licensing B.V.
1 comentarios
Comentarios de Hacker News
Q. La obtención de datos sí funciona, pero la ventana sin respuesta no cambia. No estoy buscando soporte técnico, solo aviso que quizá hagan falta pasos adicionales en el README.