Skip to content

Releases: Romancha/GPStitch

v0.6.2

Choose a tag to compare

@Romancha Romancha released this 02 Mar 15:41

✨ Improvements

  • Added CI pipeline with lint, unit/integration tests, and E2E tests on GitHub Actions
  • Publish workflow gates release on passing tests before uploading to PyPI
  • Screenshot images now render correctly on PyPI project page

v0.6.1

Choose a tag to compare

@Romancha Romancha released this 02 Mar 15:03

🆕 New

  • PyPI publishing - Package can now be installed via pipx install telemetry-studio
  • Auto-open browser - Browser opens automatically when the server starts
  • FFmpeg check at startup - Clear error message with per-OS install instructions if FFmpeg is not found in PATH

✨ Improvements

  • Clickable server URL in terminal output (0.0.0.0 replaced with 127.0.0.1)
  • Updated README with pipx installation instructions

v0.6.0

Choose a tag to compare

@Romancha Romancha released this 02 Mar 14:17

🎉 Major Features

DJI Camera Metrics in Overlays

Display DJI camera metadata (ISO, shutter speed, f-number, EV, color temperature, focal length) directly in video overlays.

  • Camera metrics parsing - SRT parser now extracts all camera fields alongside GPS data
  • Metrics preservation during render - A wrapper-level patch intercepts GPX loading to use original SRT data, preventing loss of camera metrics during the SRT→GPX conversion
  • Custom metric accessors - Extended gopro_overlay's metric system to support DJI-specific fields (iso, fnum, ev, ct, shutter, focal_len)

🆕 New

  • DJI Drone layouts - Four resolution-specific overlay layouts (1080p, 2.7K, 4K, 5K) with speed, altitude, slope, GPS info, maps, and camera metadata widgets

✨ Improvements

  • Failed render jobs now include last output lines in the error message for easier diagnostics
  • Replaced print statements with structured logging in editor and wrapper modules
  • Temp file tracking for SRT→GPX conversions is now handled by generate_cli_command return value instead of regex parsing
  • Wrapper-internal arguments (--ts-srt-source, --ts-srt-video) are stripped from user-facing command display

🐞 Fixes

  • Fixed missing video existence check before timezone offset estimation in SRT parser

v0.5.0

Choose a tag to compare

@Romancha Romancha released this 28 Feb 12:20

🎉 Major Features

DJI Drone Support

Full support for DJI drone video files with SRT telemetry data.

  • SRT telemetry parsing - Parse DJI subtitle files (.srt) containing per-frame GPS coordinates, altitude, and camera metadata
  • Automatic timezone correction - Detect timezone offset between SRT local timestamps and real UTC using video file modification time
  • Auto-detection of mtime role - Automatically determines whether video file mtime represents the start or end of recording
  • Auto-detection of SRT files - When a DJI video is selected, the matching .SRT file is automatically found and loaded
  • SRT as primary file - Use SRT files directly in overlay-only mode (no video required)

✨ Improvements

  • GPS quality analysis now works for external GPX and FIT telemetry files
  • Secondary file validation accepts SRT alongside GPX and FIT formats

v0.4.1

Choose a tag to compare

@Romancha Romancha released this 28 Feb 12:20

✨ Improvements

  • Version display in UI - Application version is now shown in the interface
  • Fix project name - Updated branding across all UI elements
  • Static asset caching - Added no-cache headers to prevent stale assets after updates

v0.4.0

Choose a tag to compare

@Romancha Romancha released this 27 Feb 09:07

🎉 Major Features

Non-GoPro Video Support

Full support for non-GoPro video files with external GPS data.

  • MOV format support - Upload and render .mov video files alongside existing formats
  • External GPX/FIT fallback - Automatically use external GPS data when video has no embedded telemetry
  • Video rotation handling - Detect and apply correct rotation for videos with non-standard orientation
  • Order-independent uploads - Upload GPX/FIT file first, then video — the session is reused instead of creating a new one

🐞 Fixes

  • Fixed pillarbox temp file timestamp being set to current time, breaking GPS time alignment with --video-time-start file-modified
  • Fixed pillarbox/letterbox preview now uses fit-to-canvas instead of stretch

v0.3.0

Choose a tag to compare

@Romancha Romancha released this 04 Feb 14:27

🎉 Major Features

GPS Quality Analysis

Automatic GPS signal quality analysis for uploaded videos with visual feedback and warnings before rendering.

  • Quality scoring - Analyzes GPS lock rate and DOP (Dilution of Precision) values to classify signal quality as Excellent, Good, OK, Poor, or No Signal
  • Quality indicator in header - Compact badge shows current GPS quality with detailed tooltip
  • Quality distribution card - Visual breakdown of GPS point quality with statistics (DOP average, lock rate, usable percentage)
  • Pre-render warnings - Modal warns before rendering files with poor GPS quality, explaining potential overlay issues
  • Batch quality check - Table view of GPS quality for all files in batch render, with option to skip files with issues

🆕 New

  • Overwrite confirmation dialog - Shows list of existing files before batch render with Skip Existing option

✨ Improvements

  • GPS filter settings (DOP max, speed max) added to rendering parameters

v0.2.0

Choose a tag to compare

@Romancha Romancha released this 04 Feb 09:35

New Features

GPS Data Filtering - Added configurable GPS filter parameters to remove bad data points (jumps, glitches) from telemetry:

  • GPS DOP Max - Filter points with high Dilution of Precision values

    • DOP 1-2: Ideal accuracy
    • DOP 2-5: Good
    • DOP 5-10: Moderate
    • DOP 10-20: Fair
    • DOP >20: Poor (filtered out by default)
  • GPS Speed Max - Filter unrealistic speed spikes (default: 200 km/h)

Default values are less strict than gopro-dashboard CLI defaults (DOP: 10, Speed: 60 km/h), making them more suitable for motorcycles and cars at highway speeds.

UI

New settings in the Configuration panel:

  • GPS DOP Max input with hint explaining DOP values
  • GPS Speed Max input (km/h)

Settings apply to both preview generation and final render.

Bug Fixes

  • Fixed render modal continuing to poll server after being closed
  • Fixed batch render modal continuing to poll server after being closed
  • Fixed empty paths handling in batch render file parsing

Initial Release

Choose a tag to compare

@Romancha Romancha released this 26 Jan 16:12

First public release of Telemetry Studio.

Features

  • Quick Mode - predefined layouts with customizable units, map styles, and rendering options
  • Advanced Mode - visual drag-and-drop editor for building custom overlay layouts
  • Live Preview - real-time preview at any frame of the video
  • Template System - save and load custom layouts
  • Batch Rendering - process multiple videos with the same settings
  • Background Jobs - render queue with progress tracking
  • Runtime Patches - timecode preservation, audio copy, metadata retention for Final Cut Pro compatibility

Requirements

  • Python 3.14+
  • FFmpeg
  • gopro-overlay (installed automatically)