HTTP Live Streaming (HLS) is an HTTP-based adaptive bitrate streaming communications protocol developed by Apple Inc.
Adaptive bitrate streaming means that the client media software dynamically detects the Internet speed of the user, and then adjusts video quality in response.
Support for this protocol is widespread in media players, web browsers, mobile devices, and streaming media servers.
Technical Overview Of HLS Streaming
With normal HTTP streaming the HLS protocol separates the video file into smaller segments with the “.ts” file extension (MPEG2 Transport Stream).
Since the HLS is an adaptive bitrate protocol, the bitrates must accommodate and adapt to the channel bandwidth and other parameters of the media player.
The video delivery starts by delivering a single file called Manifest File (master.m3u8) that contains links to the index files. The index files contain a playlist with references to the actual video segments.
Based on the bandwidth of the currently available connection of the user, the HLS allows the media player to adjust the video to the best possible quality.
HLS streaming format
The video files need to be encoded with H.264(AVC) or with the H.265(HEVC) compression algorithms.
Technical Overview Of MPEG-DASH Streaming
Dynamic Adaptive Streaming (also known as MPEG-DASH) is an adaptive bitrate streaming technique that enables high-quality streaming of media content over the Internet delivered from HTTP web servers.
Similar to the HLS protocol, MPEG-DASH works by breaking the content into a sequence of small segments, which are served over the HTTP.
Each segment contains a short interval of playback time of content that is potentially many hours in duration.
The content is made available at a variety of different bit rates – alternative segments are encoded at different bit rates covering aligned short intervals of playback time.
In addition, we support Transmuxing (known as Transcode-Multiplexing or re-packaging) for MP4 digital multimedia containers to HLS and to MPEG-DASH.