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

FeatureLiveVOD
#EXT-X-ENDLISTNoYes
SegmentsDynamicFixed
SeekbarNoYes