Architecting a Video Pipeline for an LMS with ffmpeg and HLS

May 20, 2026

Why Video is Hard

Video is the backbone of any learning management system, but handling upload, transcoding, and streaming at scale is one of the hardest infrastructure challenges in web development. For Siltawi LMS, I needed a pipeline that could handle instructor uploads, transcode them into multiple quality levels, and stream them adaptively to students.

The Pipeline

The system uses a dedicated worker service that picks up upload events from a Redis queue. Each video goes through an ffmpeg transcoding pipeline that generates HLS segments at multiple bitrates, creates thumbnail captures, and stores everything in cloud storage. The Next.js frontend uses a custom HLS player component for adaptive playback.

Full article coming soon.