The media pipeline
Upload to playback — where videos live, how they are converted, and how they are protected.
01Storage and streaming
Raw uploads land in a private storage bucket; the transcoding worker converts each into adaptive HLS at 1080p, 720p, 480p and 360p plus thumbnails and a scrubbing storyboard, written to a separate media bucket. Playback only ever happens through signed URLs minted per account and lesson — files are never publicly addressable.
02The transcoding worker
The worker runs on our VPS and pulls jobs from the queue: claim, transcode, upload results, mark ready. The admin media view shows queue depth and failures. A growing queue means the worker is down or overloaded — check the VPS before anything else; a failed item usually means a bad source file, and the instructor's guide tells them how to re-export.
03Signed playback
The media gateway worker verifies a short-lived token before serving any segment, so course video URLs expire quickly and shared links die. Access decisions always come from entitlements — purchases or an active subscription — never from obscurity of the URL. If students report playback errors, check the gateway first, then the lesson's media status.