HTTP Live Streaming – HLS Architecture | HLS Server Component

http live streaming hls architecture

HTTP Live Streaming lets you send audio and video over HTTP from a web server for playback on Android, iOS, Desktop and other platform applications that support HLS playback. HLS supports both Live and Video On Demand content.

HLS Architecture

[image_frame url=”http://rcvacademy.com/wp-content/uploads/2016/10/http-live-streaming-hls-architecture.png” border_style=”boxed-frame” action=”open-lightbox”]

HLS consists of three major components:

  1. Server Component
  2. Distribution Component
  3. Client Software

 

HLS Server Component

The server component is responsible for taking input streams of media and encoding them digitally and then by creating multiple bitrate streams suitable for delivery that are then sent to the segmenter for creating segments or chunks.

[image_frame url=”http://rcvacademy.com/wp-content/uploads/2016/10/http-live-streaming-hls-server-component.jpg” border_style=”boxed-frame” action=”open-lightbox”]

HLS Distribution Component

Distribution component is responsible for content distribution. When a client/player sends a request, it reaches to the origin web server, and the response is sent back to the client in the form of index files. The player reads that index file, and again request for the content and the content is then sent to the client in the form of chunks or segments.

All the request and response are done through the CDN over HTTP. Once the content is served to the client, a cached copy of that content is created onto the CDN. So if some other client requests the same data, it is directly served from the CDN. Which reduces the load on to the origin web server.

Few examples of Media Servers are Wowza Streaming Engine, Akamai & Amazon Cloud Front.

[image_frame url=”http://rcvacademy.com/wp-content/uploads/2016/10/http-live-streaming-hls-distribution-component.png” border_style=”boxed-frame” action=”open-lightbox”]

Client Software

Client software is a player that is capable of playing HLS stream in a native application or on an HLS supported browser. Any player which supports HLS stream can be embedded into the application for Live and on Demand Playback.

Few examples are Quick Time Player, JW Player, ffplay/avplay, Safari browser and many more.