Protocols and Formats [EN]
Protocols
HLS (HTTP Live Streaming) and MPEG-DASH (Dynamic Adaptive Streaming over HTTP (DASH)) are adaptive bitrate streaming protocols used for internet video delivery. They both split video into small segments and provide lists of available segments and quality, leveraging segmented delivery and adaptive bitrate for the best streaming experience.
Based on the provided lists, your viewer's player continuously downloads segments, showing an uninterrupted stream. The viewer's media player switches between different quality segments based on network conditions and configuration, which enables smooth playback of your stream.
Format and Standardization
HLS
HLS was originally tied to Apple ecosystems, but is now widely supported and offers maximum compatibility across devices
Native support on iOS, macOS, Safari
Playlist Format:
.m3u8(text-based playlist)Chunk Formats:
.ts(MPEG-2 Transport Stream) and.m4s(fMP4)Codecs and Containers: More constrained (supports fMP4 and multiple codecs)
Latency and Extensions: Supports Low-Latency HLS (LL-HLS) as an extension
MPEG-DASH
MPEG-DASH is an open international standard (MPEG), common for standards-based and DRM-heavy environments
Widely used on web platforms via HTML5 players
Playlist Format:
.mpd(XML-based playlist)Chunk Formats:
.mp4or.webmCodecs and Containers: More flexible, supports a wider range of codecs and containers
Latency and Extensions: Supports low-latency modes via CMAF
Playlists and Chunks
Type | HLS | MPEG-DASH |
|---|---|---|
Playlist (Manifest) |
|
|
Chunk (Segment) |
|
|
Playlists (manifests) change frequently and must be refreshed often to include new segments or bitrate options.
Chunks (segments) mostly stay the same once generated and can be cached for longer.