HTTP Live Streaming, or HLS, is a media delivery format that uses playlists and separately addressable media segments retrieved over HTTP. A player follows those playlists to obtain sequential media, and may select among quality alternatives when the publisher supplies them. HLS supports both live presentations and completed on-demand items. Its playlists commonly use the .m3u8 extension, but the extension is not a complete compatibility specification. A device must also support the contained codecs, media packaging, encryption and playlist features actually used by the source it is trying to play.
HLS and M3U channel list
An HLS media playlist sequences pieces of one presentation; a channel list can instead list unrelated programmes or stations.
What changes for live playback
A live media playlist is refreshed as new segments become available and older ones may leave its window. The player chooses a position behind the newest available media, downloads ahead and follows the timeline. A completed on-demand playlist instead describes a finite presentation. These differences affect seeking and latency even though both presentations can be delivered using the same HLS family of mechanisms.
Finding a broken step
Separate initial playlist retrieval, variant selection, segment delivery and decoding. An HTTP error for a segment is different from a decoder refusing media that arrived successfully. A channel list accepted by an app does not prove the referenced HLS stream is supported. Record the actual error and whether the problem affects startup, a particular position or a continuing live session.
Understanding quality and retention limits
HLS can expose multiple bitrates, alternative audio and other features, but the publisher must actually provide them. The format does not guarantee every stream has an adaptive ladder or an extensive rewind window. Likewise, a player setting cannot restore live segments that have left the server's available window. Check the presentation's supplied options before assuming a missing feature is an application fault.
An illustrative example
An HLS on-demand item plays normally, while a live item fails only after seeking far behind its available window. The live playlist no longer references those older segments. That behavior concerns the source's retained timeline, rather than demonstrating that the device cannot play HLS or that every HLS service provides catch-up access.
Practical actions
- Separate playlist errors from segment errors
- Check supplied qualities and track options
- Stay within the published live retention window
