Manifest

The small index file a player reads first — the map of every quality rendition and segment that makes adaptive streaming possible.

Updated: May 2026 5 min read Streaming
In short

A manifest is a tiny text file — .m3u8 for HLS or .mpd for DASH — that lists every quality rendition and video segment, telling the player exactly what it can download and in what order.

What is a manifest?

A manifest is a small index file that describes a streaming video: it lists every available quality renditionAdaptive Bitrate (ABR)Automatically adjusts video quality in real time to match each viewer’s connection speed — smooth playback from 480p to 4K with no buffering.Open definition → and the URLs of the short segmentsHLS (HTTP Live Streaming)Apple’s adaptive streaming protocol. Uses .m3u8 manifests and segmented delivery; supported on every browser, device and smart TV.Open definition → that make up each one. When a player starts an adaptive stream, the manifest is the very first thing it downloads — it is the map the player uses to decide what to request.

Think of it as a table of contents for the video. The actual footage lives in dozens or hundreds of small segment files; the manifest is the lightweight text file that tells the player they exist, what quality each one is, and the order to play them in. It's typically a few kilobytes — tiny next to the video itself — but nothing plays without it.

Because the manifest lays out all the alternatives up front, the player can switch to a higher or lower rendition at any segment boundary, based on the bandwidth it measures. No manifest, no map — and no way to adapt quality mid-stream.

Manifest formats

Each streaming protocol has its own manifest format, but they describe the same thing.

FormatProtocolTypeStructure
.m3u8HLSHLS (HTTP Live Streaming)Apple’s adaptive streaming protocol. Uses .m3u8 manifests and segmented delivery; supported on every browser, device and smart TV.Open definition →Plain textMaster playlist → per-rendition media playlists
.mpdDASHDASHDynamic Adaptive Streaming over HTTP — an open ISO standard using .mpd manifests, common for DRM-protected premium content.Open definition →XMLSingle Media Presentation Description

Modern setups often generate both from the same segments to cover every device — HLS for Apple, DASH elsewhere and for DRMDRMEncryption of the video file plus a licence server that issues a per-session key — so a downloaded copy stays unplayable.Open definition →.

What's inside a manifest

An HLS stream uses two levels of manifest, and understanding the split explains how adaptive switching actually works.

The master playlist

Lists every rendition once, each with its bandwidth (the bitrateBitrateThe amount of data used per second of video. Higher bitrate means more detail and a larger file; the core lever behind streaming quality.Open definition → the player needs to sustain it), resolutionResolutionThe pixel dimensions of a video frame — 480p, 720p, 1080p, 2160p (4K). Determines how sharp the picture looks on a given screen.Open definition → and codecsCodecThe algorithm that compresses and decompresses video — H.264, H.265 (HEVC) and AV1 are the most common in modern streaming.Open definition →. This is the menu the player chooses from — and it may also point to alternate audio tracks and subtitle tracks.

The media playlist

One per rendition. It lists that rendition's segments in order, each with its exact duration, plus the target segment length and — for encrypted streams — a pointer to the decryption key. This is the map the player follows once it has picked a quality.

So the flow is: fetch master → pick a rendition that fits current bandwidth → fetch that rendition's media playlist → download its segments → and, whenever bandwidth changes, jump to a different rendition's media playlist at the next segment. All of it driven by numbers the manifest exposes.

Live vs VoD manifests

AspectVoD manifestLive manifest
Segment listComplete, fixedGrows as new segments are produced
End marker#EXT-X-ENDLIST presentAbsent — stream is ongoing
Player behaviourRead onceRe-fetches to find new segments

For a live streamLive streamReal-time video delivered as it is captured, transcoded and segmented on the fly — webinars, events, broadcasts.Open definition →, the player keeps re-reading the manifest to discover the latest segments; for VoDVoD (Video on Demand)Pre-recorded video a viewer can start any time — the opposite of live. Transcoded once, then served from the CDN on request.Open definition →, one read is enough because the end marker tells it the video is complete.

Further reading

Denis Konnov

Written by

Denis Konnov Verified

CMO at Kinescope

Denis leads marketing and content at Kinescope, working closely with the platform's engineers. This glossary is reviewed and kept up to date by the team building Kinescope's streaming, encoding and CDN delivery infrastructure.

FAQ

Can’t find the answer you need? Check out our Help Center.

A manifest is a small index file that lists every quality rendition of a video and the URLs of its segments, so the player knows what it can request and how to switch quality. It is the first file a player downloads when it starts an adaptive stream.

They are the manifest formats for the two main protocols. .m3u8 is the HLS playlist (plain text); .mpd is the DASH Media Presentation Description (XML). Both describe the same thing — available renditions and their segments — for their respective protocols.

In HLS, the master playlist (.m3u8) lists the available quality renditions with their bandwidth, resolution and codecs, and points to a separate media playlist for each. Each media playlist lists that rendition’s ordered segment URLs and durations. The player reads the master first, then fetches segments from whichever media playlist fits the connection.

A master manifest lists each rendition’s bandwidth, resolution and codec so the player can choose. A media (per-rendition) manifest lists the ordered segment URLs and each segment’s duration, plus flags such as whether the stream is live or has ended. Manifests can also point to alternate audio tracks, subtitles and encryption keys.

A VoD manifest is static: it lists every segment once and ends with a marker (in HLS, #EXT-X-ENDLIST) telling the player the video is complete. A live manifest is updated continuously as new segments are produced and has no end marker, so the player re-fetches it to discover the latest segments as the stream continues.

No, if you use a hosting platform. Kinescope generates the HLS (and DASH) manifests automatically when it transcodes your upload, keeps them in sync with the segments, and serves them from its CDN. You embed a player; the manifest handling happens behind the scenes.