M3U8 Format Explained
What is M3U8?
M3U8 is a UTF-8 encoded M3U playlist file format widely used in HLS streaming. It's essentially a text file containing video segment URLs, duration info, and playback order metadata.
Basic Structure
#EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:10 #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.0, segment_0001.ts #EXTINF:10.0, segment_0002.ts #EXT-X-ENDLIST
Key Tags
#EXTM3U
File header, must be on first line
#EXT-X-VERSION
HLS protocol version
#EXT-X-TARGETDURATION
Maximum segment duration (seconds)
#EXTINF
Duration of next segment
#EXT-X-ENDLIST
End of playlist marker
Adaptive Bitrate M3U8
#EXTM3U #EXT-X-STREAM-INF:BANDWIDTH=800000,RESOLUTION=640x360 360p/playlist.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=2800000,RESOLUTION=1280x720 720p/playlist.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=5000000,RESOLUTION=1920x1080 1080p/playlist.m3u8
Live vs VOD M3U8
| Feature | Live | VOD |
|---|---|---|
| #EXT-X-ENDLIST | No | Yes |
| Segments | Dynamic | Fixed |
| Seekbar | No | Yes |