HTTP Live Streaming (HLS)
HTTP Live Streaming (HLS) is an ABR packaging format for media streaming originally implemented by Apple Inc. in various software packages. These packages include QuickTime, Safari, OS X, and iOS. It is an HTTP-based protocol that functions by rearranging the overall audio video stream into smaller sequences of HTTP-based file downloads.
Through HTTP Live Streaming, each download loads one shorter chunk of an overall potentially unbounded transport stream. The continuous video experience is served by playing one small file after another seamlessly. By using file chunks, standard file based (TCP/IP HTTP systems) can be easily used without special servers for video distribution.
By making chunk files of different bandwidths available simultaneously, HLS supports Adaptive Bitrate (ABR) streaming.
There are numerous advantages to distributing HLS streams via HTTP. Foremost, it doesn’t require a streaming server, and audio/video chunks are able to leverage HTTP caching servers (which are typically located on the premises of ISPs, cellular providers, and CDNS) to improve video quality for viewers served from these cache servers. In addition, most HTTP content will successfully pass through standard firewalls without issue.