HLS & M3U8 guides

HLS & M3U8 Guides

These guides cover two things: understanding the format (what an M3U8 file is, how HLS relates to M3U8, and how M3U8 differs from M3U) and fixing playback when it breaks (CORS, 403, encryption keys, and dead segments). Start with a concept guide to learn, or jump to the troubleshooting hub when something already won't play.

Concepts and troubleshooting

Learn the format vs fix an error

If you are new to streaming, read 'What is an M3U8 file?', then 'HLS vs M3U8' and 'M3U8 vs M3U' to get the vocabulary right. If a stream is already failing, the HLS troubleshooting hub maps each symptom to a cause — CORS, 403 Forbidden, missing AES-128 key, or dead segments — and links to the exact fix.

Follow the request chain

An HLS session is a chain of requests: master manifest, media playlist, encryption key, then segments. Most playback problems are one broken link in that chain, and each link fails differently. The troubleshooting guides are organized around locating which request fails first, because that is what decides the fix.

Frequently asked questions

Is M3U8 the same thing as HLS?

Not exactly. HLS is the streaming protocol; M3U8 is the UTF-8 playlist file format HLS uses to describe the streams. The 'HLS vs M3U8' guide explains the difference.

Where should I start if a stream won't play?

Begin at the HLS troubleshooting hub. It identifies whether the failure is CORS, a 403, an encryption-key problem, or dead segments, then points to the specific guide.

What's the difference between M3U and M3U8?

Both are playlist formats; M3U8 is the UTF-8 encoded variant used by HLS. The 'M3U8 vs M3U' guide covers when each is used.