HLS playlist basics

What Is an M3U8 File? HLS Playlist Explained

An M3U8 file is a UTF-8 text playlist used by HTTP Live Streaming. It does not usually contain video itself; it points to media segments, quality variants, audio tracks, subtitles, encryption keys, and live/VOD playlist metadata that an HLS player uses for playback.

Last updated: June 20, 2026

智能 CORS 代理

遇到跨域失败时可通过 Cloudflare Worker 代理 manifest、key 和切片。

Video preview

链接健康度体检

解析全部分辨率轨道、统计码率与分片时长,并抽样检测分片死链。死链检测受浏览器跨域限制, 建议先开启 CORS 代理以获得准确结果。

Common M3U8 tags and lines

Tag or lineMeaningWhy it matters
#EXTM3UMarks the file as an extended M3U/M3U8 playlist.A valid HLS playlist should start with this line.
#EXT-X-STREAM-INFDescribes a variant stream in a master playlist.Players use it to choose resolution, bandwidth, and codecs.
#EXTINFGives the duration of the next media segment.Segment timing affects buffering, trimming, and live latency.
#EXT-X-KEYPoints to an encryption key for AES-128 HLS.The key URL must be reachable for encrypted playback or conversion.
#EXT-X-ENDLISTMarks the playlist as complete.Its presence usually means VOD; absence usually means live.
.ts or .m4s URLPoints to an actual media segment.Dead or blocked segment URLs can break playback after the manifest loads.

An M3U8 file is not usually the video file

Most M3U8 files are playlists, not finished media files. The playlist tells the player which segment URLs to fetch and in what order. That is why copying only the .m3u8 link may work for streaming but does not behave like downloading a single MP4 file.

Master playlist vs media playlist

A master playlist lists multiple variants, such as 1080p, 720p, or audio-only tracks. A media playlist lists the actual segments for one variant. When you paste a master M3U8 into a player, the player chooses a media playlist based on bandwidth, codec support, and device conditions.

Why M3U8 links expire or fail

Many M3U8 URLs are signed CDN links with expiration times, or they require browser-readable CORS headers, a matching Referer, and reachable media segments. A valid-looking playlist can still fail if any child playlist, key URL, or segment URL is blocked or dead.

How to inspect an M3U8 file

Open the URL or paste it into an HLS tester. Check that it starts with #EXTM3U, identify whether it is master or media playlist, inspect #EXT-X-KEY for encryption, look for #EXT-X-ENDLIST, then run a segment health check to confirm playback can continue past the first request.

Frequently asked questions

What is an M3U8 file?

An M3U8 file is a UTF-8 playlist file used by HLS streaming. It usually points to video segments, quality variants, audio tracks, subtitles, and encryption keys instead of storing the video itself.

Does an M3U8 file contain video?

Usually no. An M3U8 file contains text instructions and URLs. The actual video is stored in media segments such as .ts or .m4s files that the player fetches while streaming.

How do I open an M3U8 file?

Paste the M3U8 URL into an HLS player, or open it with a desktop player such as VLC. For browser debugging, use an online player that can show CORS, Referer, encryption, and segment-health problems.

Is M3U8 the same as HLS?

No. HLS is the streaming protocol, while M3U8 is the playlist file format HLS commonly uses to list variants, segments, subtitles, and keys.

Why does an M3U8 link stop working?

M3U8 links often stop working because signed URLs expire, CORS blocks browser access, the origin requires a specific Referer, a key URL is blocked, or one or more media segments are dead.