mirror of
https://github.com/IAmTomShaw/f1-race-replay.git
synced 2026-05-09 08:25:56 +02:00
[PR #223] [MERGED] Telemetry Streaming Service #229
Labels
No labels
bug
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/f1-race-replay#229
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/IAmTomShaw/f1-race-replay/pull/223
Author: @IAmTomShaw
Created: 2/6/2026
Status: ✅ Merged
Merged: 2/7/2026
Merged by: @IAmTomShaw
Base:
main← Head:telemetry-stream📝 Commits (2)
b520a72Telemetry Stream initial version1459a0aImplementing suggested improvements📊 Changes
9 files changed (+671 additions, -8 deletions)
View changed files
📝
README.md(+2 -0)📝
main.py(+12 -4)➕
resources/telemetry-logger.png(+0 -0)📝
src/gui/race_selection.py(+3 -0)➕
src/gui/telemetry_stream_viewer.py(+278 -0)📝
src/interfaces/race_replay.py(+90 -2)📝
src/run_session.py(+22 -2)➕
src/services/stream.py(+178 -0)➕
telemetry.md(+86 -0)📄 Description
This feature is the next step for getting us to the goal of building a pit wall style tool!!
Telemetry Streaming Service
This allows you to see the raw telemetry data being streamed from the replay process in real-time (not live during races, but real-time relative to the race replay), and is intended for developers who want to build custom tools and interfaces on top of the replay data.
How to check it out
Ensure you have the latest version of this PR with telemetry support and have already setup an environment with the required dependencies (see
README.mdfor setup instructions).Start the F1 Race Replay and pass the --telemetry flag:
Select a race session from the GUI. The telemetry stream will start automatically when the replay begins.
The demo window will show:
Why this feature is huge!
The telemetry stream provides a powerful way to access all the rich data from the race replay enabling you to build custom interfaces on top of the replay data.
The goal of this project is to build a pit wall style tool to replay races and sessions. So being able to access telemetry data in other windows outside of the main replay window is a key to unlocking a lot of potential features and customizations.
We're no longer limited to fitting everything into the replay window - we can build custom dashboards, data analysis tools etc that can run alongside the replay and provide a much richer experience.
How to use this service
Implementing this service into you a new feature or insight is super easy!
You can use the
TelemetryStreamClientto easily connect to the service.Using the
on_data_received()function you can receive the incoming telemetry into your window.I've created the
telemetry_stream_viewer.pywindow to demonstrate how this data is received so that you can visualise it much easier.Telemetry Data Format
The stream provides this data structure:
Technical Details
localhost:9999🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.