Releases: Romancha/GPStitch
Release list
v0.6.2
v0.6.1
🆕 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.0replaced with127.0.0.1) - Updated README with pipx installation instructions
v0.6.0
🎉 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_commandreturn 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
🎉 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
.SRTfile 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
v0.4.0
🎉 Major Features
Non-GoPro Video Support
Full support for non-GoPro video files with external GPS data.
- MOV format support - Upload and render
.movvideo 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
🎉 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
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
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)