Dashcam to Timelapse
summary
540 one‑minute MP4 clips totaling over 100GB become a single timelapse by a Go pipeline that validates clips with ffmpeg + ffprobe, detects trip breaks (gaps >5 minutes), speeds and concatenates segments, and overlays a GPS route extracted via Tesseract OCR from the burned‑in pixels. Concurrency uses goroutines, channels and a worker pool to bound parallelism; naive unbounded encoding saturates libx264 so tuning (higher fps, faster preset, bounded workers) drops runtime from ~21 to ~13 minutes and yields working videos with map overlays.
AI-written summary · about
chapters (15)
- 0:00Introduction
- 1:47Why build dashcam timelapse
- 9:34Simplest solution first
- 11:59iMovie and FFmpeg attempts
- 14:49Go and performance results
- 16:17Fixing pipeline brittleness
- 18:26Adding worker pools
- 23:02Debugging performance issues
- 25:51Optimizing FFmpeg encoding
- 27:23Trip detection and GPS challenges
- 30:13OCR for GPS extraction
- 32:50Map overlay with concurrency
- 35:17Final video composition
- 37:27Key takeaways
- 41:01Q&A
related talks
23mCreating Videos Programmatically in React
21mFrom Laptop to Lambda: Outsourcing Everyday Jobs to Thousands of Transient Functional Containers
34mGo concurrency in the real world
37mFlutter Development
14mBringing Interactivity to Videos
17mDocumentation beyond words
14mAn engineer's perspective on EDLs
54mNail the Demo: Remote Work as Performance Art
