Abstract
My dashcam records road trips as hundreds of 1 minute MP4 clips. A recent 9 hour road trip across Western Canada produced 540 tiny files and inspired me to create a timelapse video. That’s far too many clips for any video editor to handle so I built a tool in Go to turn them into timelapses automatically.
This started as a simple ffmpeg wrapper but after some nerding away it turned into a real world coding problem: I needed to validate all 540 video files, detect trip boundaries from the metadata, and orchestrate a multi-stage processing pipeline, ideally without taking a full 30 minutes to run.
Join me to see how I built a concurrent pipeline in Go, starting from “the dumbest thing that worked” and using goroutines, worker pools, and channels to build one step at a time. A fun pet project with practical reusable patterns for building concurrent pipelines in Go, and maybe an idea for your next road trip.