It is no secret that media content streamed from remote servers is replacing traditional over the air and cable television services at a rapid pace. Each year, more and more streaming media services are launched.
The popularity of these services is largely due to the development work that has been made in the technologies that deliver this content to users. Without this work, we wouldn't have technical processes that are stable enough to deliver high quality audio and video content to users in widely different network environments.
One streaming technology which allows us to leverage the delivery of remote video content is HLS streaming. But what is HLS live streaming and how can your business use it to deliver media content to users?
What is HLS streaming?
Created by Apple, HLS is an HTTP based protocol which is used for transmitting audio and video content from a server to a user's device. Unlike a traditional media stream, HLS is actually a progressive downloading system. This means that it sends small segments of media data to the user to download (generally in 6 second increments) and it adjusts the media quality based on the user's network conditions.
Through HLS, media providers are able to deliver the best user experience that is individually tailored to deliver the highest level of media quality possible for each user.
What Are the Benefits of HLS Streaming?
HLS streaming is preferred by most media streaming providers as it tends to have the widest device compatibility and delivers a better user experience by adapting to each user's network conditions. Since HLS is an HTTP live streaming protocol that has been implemented by nearly all modern devices, it has a wide range of support for video streaming to users.
HLS live streaming also features things like:
- Subtitle Support
- Ad Support
- Content Protection
- Substituted audio tracks such as described video
What is the Difference Between Mpegts and HLS streaming?
HLS leverages the MPEG-2 Transport Stream protocol in delivering media files, but it functions a bit differently than the standalone Mpegts protocol.
MPEG transport stream is an older protocol which sends media in a similar way to HLS. It sends small chunks of data using the HTTP protocol. However, unlike HLS, Mpegts is not aware of the network conditions of the remote device and continues to send data at a standard rate. HLS on the other hand, is an adaptive streaming protocol and can sense and switch the resolution on the fly to adapt to changing or poor network conditions. This results in a better user experience.
Mpegts has been traditionally used to ensure wider device support, but now that HLS has received support for nearly every major device, the use of mpegts is dwindling.
How Does HLS work?
HLS uses HTML5 and HTTP streaming to deliver to each user a 6-second segment of MPEG-2 encoded media that is adapted to the resolution of the user's device and network conditions.
There are three components to every HLS stream which accomplishes this process:
The Master Manifest
The master manifest is a file which lists the different versions of the video streaming file available, such as 420p, 720p, or 1080i. It contains information about the bandwidth, resolution, and codec of the files. This allows the compatible player to make a decision about which version is best to load.
The master manifests also lists the various media playlists and media segments of the content. These files instruct the user's device on which order to download the files to play the media in the right away.
The process is structured like this:
Here is an example of one section of the media manifest:
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=750000,CODECS="mp4a.40.2, avc1.4d401e" skiing-480p.m3u8
Server Hosting Streaming Content
The master manifest along with the media files are then placed on a server hosting the content for users. This could be a ServerMania Hybrid or Dedicated Server for example.
This server generally has a media transcoding software installed which allows the server to take a source media file and transcode it to all of the required formats for the live streams on the fly as well as generate the required HLS manifest files.
The main benefit of HLS is that it can easily scale across dozens or hundreds of servers in data centers in the cloud located throughout the world as it uses the standard HTTP protocol.
An HLS-compatible video player
The media files are then passed into an HLS compatible video player such as HLS.js or Video.js. Users will access this player in the web browser of their device, or it could be embedded in an app on a mobile or set-top device.
How Do I Open An HLS stream?
An HLS stream can be opened on any HTML5 compatible device which supports the technology. At this time, nearly all Apple, Android, and Microsoft powered devices support HLS streaming as well as all major web browsers. You simply need to visit the website which has the HLS compatible video player embedded.
What Applications Are Best Suited For HLS streaming?
Nearly every application is suited for HLS streaming based on the wide support for the protocol. It is especially useful for applications that demand a high quality video stream. While latency is still a consideration when choosing HLS, new updates to the protocol are making latency lower every year.
In order to receive the widest video distribution possible, you should also consider delivering content in formats other than HLS in order to ensure all users can access the content. However, this is generally limited to Internet Explorer 10 and earlier, as all other major devices and web browsers support HLS natively.
What Applications Are Not Suited For HLS streaming?
Any applications such as live video conferencing are not suited for HLS as the delay introduced with even low latency HLS video streaming would be too noticeable in these situations.
Which Cloud Servers Are Recommended For HTTP Live Streaming?
Every streaming application is unique, so we always recommend speaking to us so we can help you choose the right server for your streams. Here are some popular options:
Perfect for a small media streaming server.
Suitable for most applications that need high CPU performance and network capacity.
Maximum CPU performance for large audiences.
Deploying An HLS Streaming Server
If you're looking to leverage the power of HTTP live streaming using HLS streaming technology, you should consider deploying your next server in the cloud with ServerMania.
We have developed a global network of server locations that are perfectly optimized for streaming content to users around the world. Our data centers are connect to top-tier network providers and our bandwidth costs are significantly cheaper than servers hosted with Amazon or Google.
If you're interested in learning more about our media streaming solutions and what servers we offer for HLS live streaming, consider booking a free consultation with our team. We'll help you choose a video streaming server that is perfectly tailored for your needs and budget.