M3U8
An M3U8 file is a text-based playlist that tells a video player where to find the segments of an HLS (HTTP Live Streaming) stream. It lists segment URLs and their durations and, in a master playlist, the available quality levels. The player reads the M3U8 file first, then downloads the video pieces it needs. M3U8 files contain no video themselves.
Why it matters
The M3U8 link is the address of an HLS stream, so whoever holds it can usually play the video. It is what partners, smart TV apps and players need to carry your content. Managing who can use that link is key to protecting paid or private video. Paid platforms on FastPix can require a token on each playback ID, so an M3U8 URL lifted from the page stops working once that token expires instead of becoming free access.
How it works
- A master playlist lists each available quality level with its bitrate and resolution.
- Each quality level has its own media playlist listing segment URLs and durations.
- The player loads the master playlist, picks a quality level and loads its media playlist.
- For live streams, the player reloads the media playlist regularly to find new segments.
How do I play an M3U8 file?
You play an M3U8 file in a player that supports HLS, such as VLC, Safari or a web player like hls.js. Opening the file in a text editor shows only a list of links, because M3U8 holds no video. Most browsers other than Safari need a JavaScript player to play HLS.
How do I convert M3U8 to MP4?
You convert M3U8 to MP4 by downloading the segments it lists and joining them into one file, usually with FFmpeg. The command reads the playlist URL and copies the streams into an MP4 without re-encoding. Encrypted or DRM-protected streams cannot be converted this way.
What is the difference between M3U and M3U8?
M3U8 is an M3U playlist encoded in UTF-8, which lets it hold text in any language. The format and tags are otherwise the same. HLS uses M3U8 files, and the HLS specification allows either the .m3u8 or .m3u file extension.
Where it's used
News publishers and free ad-supported TV channels share M3U8 links with distribution partners, so smart TV apps and other platforms can carry their live channels. Every HLS player starts with one.
Where it usually goes wrong, and how FastPix handles it
M3U8 links are easy to copy and paste, so a private or paid stream can be shared or embedded elsewhere. Teams often protect the web page but leave the stream URL open.
FastPix serves each M3U8 behind a playback ID, and access rules live on that ID rather than on the file. Your paid catalog is watched by the people who paid for it, not whoever found the link in a browser's network tab.
By the numbers
- HLS was published as IETF RFC 8216 in August 2017, which requires playlist files to be encoded in UTF-8 and to end in .m3u8 or .m3u or be served with a matching content type. (RFC 8216: HTTP Live Streaming)
- Apple recommends a target segment duration of 6 seconds for HLS streams. (HLS Authoring Specification for Apple Devices)


