# HLS Playlist Builder

> Generate an adaptive-bitrate HLS package (master playlist + variant playlists + CMAF segments) for self-hosted video delivery. Output is a ZIP ready to drop onto any static host.

Canonical: https://helpers.aibrush.co/en/hls-playlist-builder

## What it does

Pick a source video, pick a bitrate ladder (720p single, 720p+480p, or 1080p+720p+480p), pick a segment duration, and the tool produces a ZIP containing one variant playlist + CMAF .ts segments per rung, plus a master playlist that points to all variants.

Unzip the package, upload to any static host (S3, Cloudflare R2, plain nginx) and an HLS-capable player will pick the right bitrate based on the viewer's bandwidth.

## How to use it

1. **Drop the source video** — Any common container. Use a high-resolution master so the downscales have detail to work with.
2. **Pick the ladder** — Single-bitrate 720p for storage efficiency. Multi-rung for adaptive playback over variable networks.
3. **Build** — The encoder produces every rung in sequence. The download is a ZIP — unzip and serve master.m3u8 from any static URL.

## When to use it

### Self-hosting video on a marketing site

Skip Mux / Cloudflare Stream for occasional video. Ship the HLS package alongside your assets.

### Internal training video CDN

Internal video portal where Mux feels like overkill. HLS over static hosting is enough.

### Archival with adaptive playback

Long-form recordings that should still play smoothly on slow connections, without buying a streaming product.

## FAQ

### Which players consume the output?

hls.js (most browsers), Safari natively, Video.js, ExoPlayer, AVPlayer — anything that supports HLS.

### Is the output DRM-protected?

No. This tool produces clear-text HLS. DRM (FairPlay, Widevine) is out of scope; use Mux or Cloudflare Stream for that.
