A professional desktop application for extracting telemetry data from racing/motorsport onboard videos using advanced OCR and computer vision.
- ๐ Advanced OCR Engine - Uses EasyOCR for best accuracy, will test other engines in the future
- ๐ Multiple Metrics - Extract speed, G-force, per-wheel torque(beta), and more
- ๐ฏ Interactive ROI Selection - Draw regions of interest directly on the video
- โก Real-time Preview - See extracted values overlaid on video playback
- ๐จ Modern UI - Polished dark theme with a nice styling
- ๐ฆ Standalone Executable - Distributable to others without requiring Python
Coming soon
- Download the latest release from the Releases page
- Run
FB_Data_Scraper_vX.X.X.exe(version number will be in the filename) - No Python installation required!
๐ก Note: The executable is automatically built and released on every commit to master.
| Setup | Performance |
|---|---|
| With NVIDIA GPU + CUDA | Fast - Uses GPU |
| Without GPU | Works fine - Falls back to CPU |
To enable GPU acceleration:
- Have an NVIDIA GPU (GTX 10 series or newer recommended)
- Install CUDA Toolkit 11.8
- That's it! The exe will detect CUDA and use your GPU automatically
The exe works without CUDA - it's just slower. No extra setup needed for CPU-only usage.
# Clone the repository
git clone https://github.com/yourusername/fb_data_scraper.git
cd fb_data_scraper
# Create virtual environment
python -m venv venv
venv\Scripts\activate # Windows
source venv/bin/activate # Linux/Mac
# Install dependencies
pip install -r requirements.txtFor GPU acceleration when running from source:
# For EasyOCR GPU support:
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118python run.py- Open a Video - File โ Open Video (or Ctrl+O)
- Initialize OCR - Tools โ Initialize OCR (first time only, will auto-download models)
- Select ROIs - Click "Select ROI" for each metric and draw a box around the data area
- Play Video - Use transport controls or Space to play/pause
- Export Data - File โ Export Data to save extracted values to CSV
| Key | Action |
|---|---|
| Space | Play/Pause |
| โ โ | Step 1 frame |
| โ โ | Step 10 frames |
| Ctrl+O | Open video |
| Ctrl+S | Save configuration |
| Ctrl+E | Export data |
To create a distributable executable:
# Install PyInstaller
pip install pyinstaller
# Build the executable
python build.py
# Or with options
python build.py --clean # Clean first
python build.py --onedir # Build as folder (easier to debug)The executable will be in the dist/ folder.
fb_data_scraper/
โโโ run.py # Application entry point
โโโ build.py # Build script for executable
โโโ requirements.txt # Python dependencies
โโโ fsae_extractor.spec # PyInstaller configuration
โโโ src/
โ โโโ core/
โ โ โโโ ocr_engine.py # PaddleOCR/EasyOCR wrapper
โ โ โโโ preprocessor.py # Image preprocessing pipeline
โ โ โโโ video.py # Video handling
โ โ โโโ extractors/ # Metric extractors
โ โ โโโ base.py # Base extractor class
โ โ โโโ speed.py # Speed OCR extractor
โ โ โโโ gforce.py # G-force OCR extractor
โ โ โโโ torque.py # Torque color analyzer
โ โโโ gui/
โ โ โโโ main_window.py # Main application window
โ โ โโโ styles.py # Modern UI styling
โ โ โโโ splash.py # Splash screen
โ โ โโโ widgets/ # Custom UI widgets
โ โโโ config/
โ โโโ settings.py # Configuration management
โโโ assets/ # App icons and images
โโโ dist/ # Built executables (after build)
The app includes optimized presets for different video types:
| Preset | Best For |
|---|---|
racing_hud |
Racing game/sim overlays (default) |
f1_tv |
Official F1 TV broadcasts |
digital_display |
LCD/digital dashboard displays |
minimal |
Clean overlays needing little processing |
aggressive |
Noisy or low-quality video |
- EasyOCR - Simpler installation, used as fallback
- PaddleOCR - legacy versions may still have Paddle installed, but it isn't currently used due to innaccurate readings
MIT License - see LICENSE file for details.