All things video.

Full glossary

HTTP Live Streaming (HLS)

What is HTTP Live Streaming (HLS)?

HTTP Live Streaming (HLS) is a form of video streaming created by Apple. HLS streams can be recorded video or live video. HLS is the primary form of video streaming used on the web today, followed by MPEG-DASH.

To create a HLS video stream, the video is broken into smaller segments - typically 2-10s each, and are downloaded to a video player for playback.

The segments are defined by a manifest file - which tells the player which files to request and how long each segment is - so the player can queue up and make the requests in a way that ensures that the video will always have enough video downloaded - preventing the video from stalling.

HLS streaming can also support adaptive bitrate streaming. In this case, the same video is encoded at many different sizes and bitrates (smaller sizes have lower bitrates), and the player can adapt the video playback for the screen and for the available network speed.

All videos uploaded to api.video are encoded into a HLS video stream for playback. For more detail into HLS, and how each manifest file works, please read What is HLS Video Streaming and How Does it Work.