HTTP Live Streaming (HLS)
What is HTTP live streaming (HLS)?
HTTP Live Streaming (HLS) is a type of video streaming created by Apple. Despite the name, HLS streams can be recorded video (video on demand) or live streamed. HLS is the primary form of video streaming used on the web today, followed by MPEG-DASH.
Video streaming is different from a regular video in that 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.