HLS Video Pipeline

HLS Video Pipeline preview

Production-ready video transcoding with FFmpeg and BullMQ.

Overview

A video processing pipeline that takes uploaded source files and produces HLS streams ready for adaptive playback. The goal was a small, reliable workflow that could run in production without a heavyweight media stack — upload a file, track its status, and play it back from a simple web UI.

What I built

  • Upload ingestion with validation and job enqueueing
  • FFmpeg-based transcoding into multiple HLS renditions
  • BullMQ workers for retries, concurrency control, and failure handling
  • A playback UI with a video library sidebar and search
  • Storage and playback paths wired for streaming clients

Stack

Node.js, FFmpeg, BullMQ, Redis, and object storage for segments and manifests.

What's next

Webhook callbacks on job completion, thumbnail generation, and tighter observability around queue lag.