Video processing
Taawn preprocesses videos on your phone before upload, then processes on GPU servers after upload.
On your phone (before upload)
1. Metadata extraction (GPMF)
Taawn reads GoPro telemetry from the original video using the GPMF stream:
| Data | Description |
|---|---|
| GPS | Latitude, longitude, altitude, speed, fix quality |
| Accelerometer | x, y, z per sample |
| Gyroscope | x, y, z per sample |
| Gravity | Orientation reference |
| Camera orientation | Quaternion |
| Video metadata | Frame count, FPS, duration |
| Lens / camera type | Model hints from metadata |
Saved as sensors.json and uploaded with the video. If no telemetry is found, upload still works — GPS sync and jump detection may be limited.
2. Downsampling
Video is re-encoded for upload:
- Longest side: 640 px (aspect ratio preserved)
- FPS preserved from source (not forced to 30)
- H.264 encoding for smaller file size
100 MB limit
Very large source files may still hit upload limits. Trim long clips in GoPro Quik if needed.
On the server (after upload)
Segment upload
- Stores downsampled video + sensors JSON
- Validates frame range vs your tier’s max segment duration
- Does not auto-start 3D reconstruction
Run upload
- Stores your run video + sensors
- Section matching — aligns your frames to the segment reference, computes timing deltas and jump metrics
- Creates a Comparison record you see in the app
- Optional 3D alignment if you enabled it and the segment is reconstructed
3D (Premium/Pro)
- Segment reconstruction — builds 3D point cloud and camera poses from reference video (requires calibration)
- Run alignment — places your run trajectory in the segment’s 3D space
Processing time depends on queue length and video length — often several minutes.