What is HLS Live Streaming?
HLS live and on-demand video segments video streams and files into a sequence of small HTTP-based file downloads. Every segment is downloaded in a series of short chunks, which are assembled by the destination client. Client-side players may select from alternate streams containing the same material encoded at a variety of data rates, allowing the streaming session to adapt to the client-side data rate. At the start of the streaming session, it downloads an extended M3U playlist containing the metadata for the various sub-streams which are available.
An example HLS live feed from a camera pointed at a fish tank with multiple stream encoding qualities.
Since its requests use only standard HTTP transactions, HTTP Live Streaming is capable of traversing any firewall or proxy server that lets through standard HTTP traffic, unlike UDP-based protocols such as RTP. This also allows content to be offered from conventional HTTP servers as origin and delivered over widely available HTTP-based content delivery networks.
HLS also specifies a standard encryption mechanism using AES and a method of secure key distribution using HTTPS with either a device specific realm login or HTTP cookie which together provide a simple DRM system. Later versions of the protocol also provide for trick mode fast-forward and rewind and integration of subtitles. upLynk has also added the AES scrambling and base-64 encoding of the DRM content key with a 128-bit device specific key for registered commercial SWF applications together with a sequential initialization Vector for each chunk to its implementation of the standard.
Apple adopted HLS in 2009 to solve the problem of delivering video to mobile devices over varying bandwidths. Apple's system uses adaptive streaming which enables delivery of audio and video to supported devices fro a standard http web server as opposed to a specialized streaming server. Apple has documented HTTP Live Streaming as an Internet Draft (Individual Submission), the first stage in the process of submitting it to the IETF as an Informational Request for Comments. However, while Apple has submitted occasional minor updates to the draft, no additional steps appear to have been taken towards IETF standardization.
HLS (HTTP Live Streaming) is now a standard for adaptive bitrate video. Adaptive bitrate video delivery is a combination of server and client software that detects a client’s bandwidth capacity; allowing the server to adjust the quality of the video stream between multiple bitrates and/or resolutions; based on the client's ability to receive.
Adaptive bitrate video performance is superior to delivering a static video file at a single bitrate, because the video stream can be switched midstream to be as good or bad as the client’s available network speed (instead of buffering or interruption in playback).
Because HLS is now the clear standard, all major industry leaders, like Apple’s iOS & Google’s Android OS support it.