M3U8 is a UTF-8 encoded plain-text media playlist (manifest file), the core index file for Apple’s HLS (HTTP Live Streaming) streaming protocol.
⚠️ Important: An m3u8 file is NOT a video file. It contains no audio/video raw data, only text metadata.
How it works
The server splits a full video into many small media segments (usually .ts or fmp4 chunks, 2–10 seconds each). The m3u8 file records segment URLs, segment duration, bitrate, encryption keys, multi-quality variants and other metadata. The player parses m3u8, downloads segments sequentially and stitches them together on the fly for playback. This enables adaptive bitrate streaming: video quality automatically downgrades under poor network and upgrades when bandwidth improves. Widely used for web VOD, live streaming and online courses.
Two playlist types
- Master Playlist: Lists sub-playlists of different resolutions/bitrates for adaptive quality switching
- Media Playlist: Directly lists URLs of every media segment
Mandatory tag
#EXTM3U — The first line of any valid HLS m3u8 manifest.
Features
- Transmitted over standard HTTP, easy to pass firewalls and CDN delivery
- Supports AES encryption for content protection / DRM
- Cross-platform support: web browsers, Android, iOS, media players (VLC etc.)