Every time you watch a live stream or VOD online — whether it's a Korean streamer on SOOP, an LCK match on CHZZK, or a video on any major platform — there's a small text file working silently behind the scenes. It's called an M3U8 file, and without it, modern video streaming wouldn't work the way it does.
Here's exactly what M3U8 is, how it works, and why it matters if you've ever tried to download a stream.
The Problem M3U8 Solves
In the early days of internet video, streaming worked simply: the server sent one big video file to your browser, and you watched it. This worked fine for short clips, but for long streams — hours of live content — it was a disaster. The file was massive, buffering was constant, and if your connection dropped, you had to start over.
The industry needed a smarter way to deliver video. The answer was adaptive bitrate streaming — breaking video into small chunks and delivering them one at a time, adjusting quality based on your connection speed in real time. M3U8 is the playlist format that makes this possible.
What Exactly is M3U8?
M3U8 is a plain text file — you can open it in any text editor and read it. It's a playlist that lists the locations of small video segments, usually 2–10 seconds each, that make up the full stream.
A simple M3U8 file looks like this:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:8
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:8.0,
https://cdn.example.com/stream/segment_0000.ts
#EXTINF:8.0,
https://cdn.example.com/stream/segment_0001.ts
#EXTINF:8.0,
https://cdn.example.com/stream/segment_0002.ts
Each #EXTINF line tells the player how long the next segment is, followed by the URL of the actual video chunk. The player downloads these segments one by one, stitches them together on the fly, and plays them smoothly as a continuous video.
The "8" in M3U8 refers to UTF-8 encoding. M3U is the older format; M3U8 is the modern UTF-8 version.
How HLS Uses M3U8
M3U8 is the core of HLS — HTTP Live Streaming — a protocol developed by Apple in 2009. HLS is now the most widely used streaming protocol on the internet, used by YouTube, Twitch, Netflix, and virtually every Korean streaming platform.
HLS uses a two-level playlist system:
Master playlist (M3U8) — lists multiple versions of the stream at different quality levels:
#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=800000,RESOLUTION=640x360
https://cdn.example.com/stream/360p.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2800000,RESOLUTION=1280x720
https://cdn.example.com/stream/720p.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=5000000,RESOLUTION=1920x1080
https://cdn.example.com/stream/1080p.m3u8
Media playlist (M3U8) — each quality level has its own M3U8 listing the actual video segments for that resolution.
Your video player fetches the master playlist, checks your connection speed, picks the appropriate quality, then starts downloading segments from the corresponding media playlist. If your connection slows down, it automatically switches to a lower quality playlist and keeps playing without interruption.
Live Streams vs VOD — How M3U8 Differs
This is where it gets interesting for anyone trying to download a stream.
For live streams, the M3U8 file is constantly updated. Every few seconds, new segments are added to the playlist and old ones are removed. The player always fetches the latest version of the M3U8 to get the newest segments. Once a segment is removed from the playlist and deleted from the server, it's gone — you can't get it back.
For VODs, the M3U8 file is static. It lists all segments from start to finish, and those segments stay on the server until the platform deletes them. This is why you can seek to any point in a VOD instantly.
The key implication: downloading a live stream means racing against the server's deletion of old segments. Downloading a VOD is simpler — you just need the M3U8 URL and time to fetch all the segments before the platform removes the VOD entirely.
Why VODs "Disappear" — The M3U8 Connection
When a streamer deletes their VOD, what actually happens is the platform removes the segments from the CDN and invalidates the M3U8 URL. The playlist file either returns a 403 or 404 error, and all the .ts segment files become inaccessible.
This is why tools need to download the actual video segments — not just the M3U8 file — to properly save a VOD. Saving the M3U8 URL alone does nothing if the segments get deleted.
How VOD Downloaders Use M3U8
A tool that downloads a VOD essentially does this:
- Find the master M3U8 URL for the stream
- Parse the master playlist to identify available quality levels
- Fetch the media M3U8 for the chosen quality
- Download every
.tssegment listed in the playlist - Merge all segments into a single video file (usually using FFmpeg)
This is exactly what Vodloader does for Korean streaming platforms like SOOP and CHZZK — handling the M3U8 parsing, segment downloading, and merging automatically, so you just paste a URL and get a complete video file.
What are .TS Segments?
The video segments linked in M3U8 playlists are usually .ts files — MPEG Transport Stream format. This is a container format designed for streaming, originally developed for broadcast TV. It's robust against transmission errors, which is why it's still used for internet streaming today.
When a downloader merges .ts segments, it typically converts the output to .mp4 — a more universally compatible format for playback and storage.
Encrypted Streams — DRM and M3U8
Many platforms add encryption to their segments to prevent downloading. A protected M3U8 looks like this:
#EXT-X-KEY:METHOD=AES-128,URI="https://cdn.example.com/keys/key.bin",IV=0x1234...
The #EXT-X-KEY tag tells the player where to fetch a decryption key. The player gets the key (usually after authenticating), uses it to decrypt each segment on the fly, and plays the video. Without the key, the segments are just encrypted binary data.
Some platforms rotate keys per segment for stronger protection. This is a significant technical barrier for most download tools.
Summary
M3U8 is a plain text playlist that sits at the heart of modern video streaming. It tells your video player where to find each chunk of the video, what quality options are available, and — in live streams — constantly updates to point to new content. When a VOD disappears, it's because the platform has invalidated the M3U8 and deleted the underlying segments.
Understanding M3U8 explains why VOD downloading is a race against time — and why tools like Vodloader that handle the full pipeline (find → parse → download → merge) are the only reliable way to save Korean streaming content before it's gone.
