Blog

Blog

HLS (HTTP Live Streaming)

hls-blog-image

The term "stream" refers to process of distribution by obtaining the Media. Streaming media is a platform where a content is persistently taken by and dispensed it to end user while being distributed by provider. Live Stream encoding Software generally includes the features to allow you to manage and control your video flow in to the Live Stream.

HLS stands for HTTP Live Streaming. HLS is an adaptive streaming protocol used to deliver audio, video files over the internet by breaking in to small clips to user end devices.

DASH stands for Dynamic Adaptive Streaming over HTTP. MPEG-DASH client can seamlessly adapt to changing network condition and provides highest video quality playback with fewer rebuffering events.

On demand Vs Live Streaming:

Streaming media has been divided in to two parts called as on-demand and Live streaming. In the first case of on-demand streaming, Media file has been previously recorded and compressed and stored. The file is stored at the server and delivered when requested to multiple receivers on demand. Where as in Live streaming the media is compressed, captured and transmitted on the go (fly). But live streaming requires specific amount of computing resources and hardware support [1].

Apple Inc. Launched and introduced HLS HTTP Live Streaming in June 2009 with their OS. In the current state of Enterprise Mobility and Smart world, Undoubtedly HLS streaming is the protocol which is widely used in todays world for live streaming.

HTTP Streaming Architecture:

The HTTP streaming includes three parts in it, the server component, the distribution component, and the client software

  1. The server component takes the inputs streams of media encodes and encapsulates them to a format which is suitable to delivery and makes ready for distribution.
  2. The distribution Component has webservers which are responsible for accepting client requests and delivering the media to client. For huge scale of distribution CDN can be used.
  3. The client software is responsible for appropriate media, downloading the resources reassembling and presenting it to the client in a way with no interruption as a continuous stream.

The operating principle of HLS is, it works with chunks of segmented TS (Transport stream) based files. HLS is also used in satellite and IPTV on managed networks. It uses MPEG H.264 and AAC audio which is widely using in the broadcast industry [2]. For HLS streaming one should have to encode the video in H.264/TS format with compressed bitrates. It generates 10 second video chunks with the help of stream segmenter in the software and it also generates the playlist file with .m3u or .m3u8 and specific path is allocated to store the video chunks. Finally, the HTTP server distributes the content as HTTP live streaming.

The biggest strength that has been added to HLS is ABR Adaptive Bit Rate streaming. Which is quite opposite to the techniques which are being used in mobile RTP streaming, according to available bandwidth, user device decides the stream quality to be played. This approach ensures that video is unbroken and creates positive image on user experience.

HLS is natively supported by apple devices, however, since the basic point of HLS is simple to design companies like Widevine and some more designed HLS streaming with DRM, the above companies are few examples for DRM solutions providing by them for a Windows- PC based platforms so they can play media streamed from an HLS server. Set Top Box manufacturers are also gaining interest on HLS as it is not limited to Apple, PC and Mobile Markets. It's a simple yet efficient on providing the ABR solution not only on open networks. As its based-on transport streaming technology, it makes easier to integrate in to the tv world.

  1. http://files.andrewsblog.org/http_live_streaming.pdf
  2. http://www.bogotobogo.com/VideoStreaming/images/mpeg_dash/Anevia_White-Paper_OTT-Streaming_2nd_Edition.pdf