Undercut-F1 – F1-Live-Timing-TUI mit Fahrer-Tracking und variabler Verzögerung
(github.com/JustAman62)- undercut-f1 ist ein Open-Source-TUI-Client, der Live-Timing-Daten von F1-Sessions aufzeichnet und später wiedergeben kann
- Kann Signal-basierte Stream-Daten empfangen und visualisieren oder aufgezeichnete Sessions als Replay abspielen
- Bietet eine detaillierte fahrerspezifische Timing-Tower-Ansicht, Boxenstopp-Strategien, Race-Control-Meldungen, Strategieanalyse, Fahrer-Positionsverfolgung, Team-Radio und Verlauf pro Runde
- Die Daten werden lokal gespeichert und können für Entwicklung und Tests genutzt werden, ein Simulationsmodus wird ebenfalls unterstützt
- Umsetzung einer visuellen Darstellung mit Terminal-Bildprotokollen wie in iTerm2 und Kitty
Einführung in das Projekt undercut-f1
undercut-f1 ist ein Open-Source-Tool, das F1-Live-Timing-Daten in einer CLI-basierten TUI (Terminal User Interface) visualisiert
Die wichtigsten Merkmale sind:
- Audiovisuelle Darstellung von F1-Session-Daten in Echtzeit
- Nutzer können Session-Daten selbst aufzeichnen und später wiedergeben
- Unter Berücksichtigung der durchschnittlichen Verzögerung von F1-Übertragungen (30–60 Sekunden) wird eine Funktion zur Anpassung der Verzögerung geboten
- CLI-App auf
.NET-Basis, nutzbar als NuGet-Paket oder als einzelne ausführbare Datei
Hauptfunktionen
-
Timing Tower
- Anzeige der Zeiten pro Sektor (mit Farbanzeige für persönliche Bestzeit/Gesamtbestzeit)
- Jüngste und beste Rundenzeit
- Reifenart und Nutzungsdauer
- Zeitabstand zur Spitze und zum vorausfahrenden Fahrzeug
- Vergleich des Zeitabstands zwischen dem ausgewählten Fahrer und anderen Fahrern
-
Strategie-/Stint-Informationen
- Reifenstrategie je Fahrer auf einen Blick erkennbar
- Visualisierung von Einsatzzeitpunkt und Dauer jedes Reifensatzes
- Strategieunterschiede leicht erkennbar
-
Race-Control-Bildschirm
- Race-Control-Meldungen wie offizielle Untersuchungen, Strafen und Wetterinformationen einsehbar
-
Fahrer-Tracker
- Visualisierung der Live-Position auf der Strecke des ausgewählten Fahrers
- Funktioniert in Terminals mit Unterstützung für iTerm2- und Kitty-Bildprotokolle
- Fahrer können über den Cursor ausgewählt und verglichen werden
-
Timing-Verlauf
- Veränderungen von Gap/Intervall pro Runde nachvollziehbar
- Diagramme mit Rundenzeiten und Gap-zur-Spitze-Trends der letzten 15 Runden
-
Team-Radio anhören und transkribieren
- Nutzt ein Whisper-Modell, um Team-Radio lokal per eigener Spracherkennung zu transkribieren
- Die Qualität hängt von der Audioqualität des jeweiligen Tages ab; Verbesserungsvorschläge sind willkommen
Session ausführen und Replay
-
Live-Session ausführen
undercutf1ausführen- Mit der Taste <kbd>S</kbd> zum Session-Bildschirm wechseln
- Mit der Taste <kbd>L</kbd> die Live-Session starten
- Mit der Taste <kbd>T</kbd> den Timing Tower anzeigen
- Die Session-Daten werden unter
~/undercut-f1/data/<session-name>gespeichert und können später für Replays verwendet werden
-
Aufgezeichnete Session wiedergeben
- Daten aus dem Ordner
Sample Datakopieren oder offizielle Session-Daten herunterladen, um sie als Replay abzuspielen - Mit der Taste <kbd>F</kbd> die Simulation starten → Session auswählen → zum Timing Tower wechseln
- Mit der Taste <kbd>N</kbd> die Verzögerung anpassen und schnell navigieren
- Daten aus dem Ordner
-
Session-Daten herunterladen
- Mit dem Befehl
undercutf1 import <year>kann die Liste der Sessions des entsprechenden Jahres angezeigt werden - Session auswählen, lokal herunterladen und konvertieren → danach Wiedergabe möglich
- Mit dem Befehl
Funktionen für Cursor- und Verzögerungsverwaltung
- In allen Ansichten den Cursor mit den Tasten <kbd>▲</kbd>/<kbd>▼</kbd> steuern
- Beispiel: Wird ein bestimmter Fahrer ausgewählt, lässt sich der Zeitabstand relativ zu diesem Fahrer visualisieren
- Mit den Tasten <kbd>M</kbd>/<kbd>N</kbd> die Verzögerung zur Synchronisation mit der Live-Übertragung anpassen
- Zusammen mit <kbd>Shift</kbd> erfolgt die Anpassung in 30-Sekunden-Schritten
Datenquelle und Speicherverfahren
- Der F1-Live-Timing-Stream basiert auf SignalR
- Echtzeitdaten werden durch das Abonnieren folgender Topics empfangen:
TimingStats,TimingData,WeatherData,DriverList,RaceControlMessages,TeamRadiousw.
- Während einer Session werden die Daten in den folgenden zwei Dateien gespeichert:
subscribe.txt: Initialdaten, die beim Abonnieren empfangen wurdenlive.txt: sämtliche während der Session in Echtzeit empfangenen Daten
Lizenz
- Dieses Projekt ist ein inoffizielles Open-Source-Projekt ohne Verbindung zu offiziellen F1-Organisationen
- F1, FORMULA ONE und weitere zugehörige Marken sind Eigentum von Formula One Licensing B.V.
1 Kommentare
Hacker-News-Kommentare
Qnicht. Das Abrufen von Daten funktioniert, aber das nicht reagierende Fenster verändert sich nicht. Ich suche hier keinen technischen Support, wollte aber darauf hinweisen, dass im README eventuell zusätzliche Schritte nötig sind.