The streaming of audio and video files can be daunting – the process involves sending data packets and processing them in the queues, before the receiver picks up the data. Streaming is categorized as on-demand or as realtime. In on-demand streaming, the user requests for the audio or video to be played, and only that user will receive the requested data at that time. In realtime streaming, the admin decides the on the data to be sent and the users plays it with a slight and unswerving shift of delay. HLS, HTTP Live Streaming Protocol, is the protocol developed by Apple for iOS software. Its unique functioning splits the complete stream into chunks of HTTP-based file downloads.
Using HTTP has added incentive, since no streaming server is needed for the process. Additionally, HTTP content passes easily through most firewalls. The data streaming chunks should control HTTP caching servers, which is situated in the realm of internet service providers, cellular providers, and other organizations. These factors enhance the quality of data streaming for users.
In the background, the user encodes the stream into multiple files at different data rates and each small piece buffers one short chunk, typically between 5-10 seconds long. The user may choose from the sinusoidal streams, which consist of varied data rates relieving the streaming session to adapt to the available data rate. These chunks are uploaded onto an HTTP server embedded with a text-manifest file with an M3U8 extension, which leads the player to manifest files for the encoded streams. M3U Extended (.m3u or .m3u8) is the default format that supports HTTP streaming. The fame of iOS devices and distribution-related features has brought new players, most notably from Google in Android 3.0. HTTP Live streaming protocol is extensively supported in streaming servers from vendors like Adobe, Microsoft, RealNetworks and Wowza. Apple suggests implementing ‘HTML5 video tags’ for setting up HLS video on a website, and they have documented multiple aspects which systematically state how to create and deploy HLS files. Apple has successfully manifested an HTTP Live Streaming master page with links to all these resources.