What Is HLS Streaming and When Should You Use It [2023 Update]

HTTP Live Streaming (HLS) Information

HLS video content has become ubiquitous, video streaming formats have adapted. Adobe Flash Player was once the standard, but now HLS videos are the norm. HLS stands for HTTP Live Streaming. It is now the most popular video format for delivering video and audio data over the internet. Combined with HTML5 video players, video streams using HLS provide the best quality stream yet.

This is good news for both broadcasters and viewers. Firstly, because HTML5 and HLS are open specifications, anyone e can modify and access them. Secondly, they’re safer, more reliable and much faster than earlier technologies. Furthermore, HTML5 and HLS live-streaming technologies provide distinct advantages for content producers today. If you’re a broadcaster, business or content producer, you need to get up-to-speed on these changes. Whether you’re live broadcasting, event streaming or want to stream live video content from your website, ensuring proper viewing across all  streaming platforms in the best quality is vital.

In this article, we’ll cover the role of HTML5 video streaming with HLS. Specifically, we’ll detail the different  streaming protocols. By the end, you’ll understand the importance and benefits of HLS streaming and how it can help you stream your best content yet.

Did you know that Dacast is a powerful live-streaming platform with the key features you need to get http live streaming tools up and running quickly and effortlessly? Dacast now offers HTTP Live Streaming (HLS) on the Akamai CDN.  Sign up today for a 14-day free trial and try it for yourself. There’s no commitment and no credit card is required.

Try It For Free Today

What Is HLS Streaming, and How Does it Work?

what is hls

HLS is a live streaming protocol that is considered the video delivery “technology of now.”

HLS stands for HTTP Live Streaming. In short, HLS is a media streaming protocol for delivering visual and audio media to viewers over the internet. Apple launched the HTTP live streaming (HLS) protocol in the summer of 2009. Apple created the protocol to coincide with the release of the iPhone 3 due to issues with accessing streaming content.  

The original iPhone and the iPhone 2 had issues accessing video content due to switching between Wi-Fi and mobile networks while people were watching video content. Before Apple released HLS, most early smartphones used Quicktime Streaming Server as their media streaming standard. Quicktime was an important tool; however, it used non-standard ports for data transfer, which resulted in firewalls blocking the Real Time Streaming Protocol (RTSP) used for the Quicktime streaming server.  

These limitations, combined with slow internet speeds in smartphones’ early days, resulted in the end of the Quicktime Streaming Server. 

protocols learned from the drawbacks of Quicktime Streaming Services, and the protocol was made so that it wouldn’t get blocked by a firewall. Due to this and many other features, HTTP Live Streaming has become one of the most used streaming protocols.

A Basic Breakdown: How Does HLS Work?

We’ve covered the matter-of-fact definition of HLS, but before we move on to an equally technical overview of how this protocol works, we’re going to go back to the basics. As we’ve mentioned, HLS is an important protocol for live streaming

The live streaming process compatible with the greatest number of devices and browsers looks a little bit like this:

  1. Capturing devices (cameras, microphones, etc.) capture the content.

  2. The content is sent to a live video encoder from the capturing device. 

  3. The encoder transmits the content to the video hosting platform via HTTP.

  4. The video hosting platform uses HLS ingest to transmit the content to an HTML5 video player.

This process requires two main software solutions: a live video HLS encoder and a powerful video hosting platform

If you choose to stream with HLS, you’ll want to ensure that both software offers the protocols and features we mentioned. HTML5 video players powered by HLS are great for reaching the largest audience since this duo is practically universal. Dacast is a feature-rich live video streaming solution that includes HLS streaming and a customizable, white-label HTML5 video player

Technical Overview of HLS Streaming

HLS uses the same protocol that the web runs on, letting you deploy content using ordinary web servers and content delivery networks. It’s designed to offer reliability and dynamically adapt to network conditions through playback speed optimization for wired and wireless connections.

With that background in mind, how does HLS streaming technology work?

  • First, the HLS protocol chops up MP4 video content into short (10-second) chunks with the .ts file extension (MPEG2 Transport Stream). 

  • Next, an HTTP server stores those streams, and HTTP delivers these short clips to viewers on their devices. 

  • HLS will play video encoded with the H.264 or HEVC/H.265 codecs.

  • The HTTP server also creates an M3U8 playlist file (e.g., manifest file) that serves as an index for the video chunks.  That way, the file will still exist even if you choose to broadcast live using only a single quality option.

Now, let’s consider how playback quality works with HLS video streaming. With this protocol, a given user’s video player software (like an HTML5 video player) detects deteriorating or improving network conditions.  If either occurs, the player software first reads the main index playlist and determines which quality video is ideal. 

Then the software reads the quality-specific index file to determine which chunk of video corresponds to the point at which the viewer is watching. 

If you’re streaming with Dacast, you can use your M3U8 online player to test your HLS stream. Though this may sound technically complex, the entire process is seamless for the user. The HLS streaming process happens seamlessly in the background.

Key Benefits of HLS Streaming

hls video player

HLS streaming is laden with benefits for professional broadcasters and newcomers to the live and on-demand video content world alike.

Many vital benefits come with utilizing HLS streaming, including:

Wide Compatibility 

A key benefit of this protocol is its compatibility features. Unlike other streaming formats, HLS is compatible with many devices and firewalls. However, latency (or lag time) tends to be in the 15-30 second range with HLS live streams. It would be best if you used other tools to get quick HLS streaming.  

That’s certainly an essential factor to keep in mind. Dacast now offers an HLS direct low latency streaming feature, which works with any HLS-compatible encoder. With a low latency streaming feature, you can overcome the long latency associated with HLS streaming. 

Encoding at Multiple Quality Settings 

Versatility makes HLS video streaming stand out from the pack. On the server side, content creators often have the option to encode the same live stream at multiple quality settings.  In turn, viewers can dynamically request the best option available, given their specific bandwidth at any given moment. In other words, the data quality can differ from chunk to chunk to fit different streaming device capabilities. 

That’s known as multi-bitrate streaming and is a tool that helps enhance one’s viewing experience and results in happier viewers of your content.

That’s best explained with an example. Let’s say, in one moment, you’re sending a full high-definition video. Moments later, a mobile user encounters a “dead zone” in which their quality of service declines. With HLS streaming, this is not an issue. The player will detect this decline in bandwidth and instead deliver lower-quality movie chunks at this time. HLS streaming allows you to provide the best viewing experience to your viewers.  HLS also supports closed captions embedded in the video stream. 

To learn more about the technical aspects of HLS, we recommend the extensive documentation and best practices provided by Apple.

Scalability

HLS is highly scalable for delivering live streams and video content across global content delivery networks (CDNs) using ordinary web servers. CDNs share the workload across a network of servers to accommodate a spike in viewership and larger-than-expected live audiences. 

CDNs also cache video and audio segments to help deliver a high-quality video streaming experience and improve the viewer experience. 

Other benefits of HLS streaming include ad insertion through the VPAID and VAST interfaces, cross-device compatibility, and piracy protection with extensive support for DRM technologies.

Comparing HLS Streaming to Other Video Streaming Protocols

Over the years, tech companies have introduced several new streaming solutions into the market through media streaming protocols. Generally, each of these solutions aims to expand video streaming possibilities. 

However, industry conflicts can arise similar to the HD-DVD vs. Blu-Ray format wars or the even older Betamax vs. VHS showdown. HLS is currently the best option for streaming media protocols, but it wasn’t always that way—nor will it remain so forever. Let’s review several past and current streaming protocols to understand better the innovations of HLS streaming protocol offers today.

1. Adobe HTTP Dynamic Flash Streaming (HDS)

Known as Adobe’s next-gen media streaming protocol, HDS stands for HTTP Dynamic Streaming. This protocol was designed specifically for compatibility with Adobe’s Flash video browser plug-in. Therefore, the overall adoption of HDS is relatively small compared to HLS.

We use HDS at Dacast to deliver some of our VOD (Video On Demand) content. HDS can be a robust choice with lower latency for devices and browsers that support Flash video. Like HLS, the HDS protocol splits media video files up into small chunks. HDS also provides advanced encryption and DRM features. Finally, it uses an advanced keyframe method to ensure that chunks align.

While HLS started as an Apple proprietary streaming protocol, it has become an open industry standard. So it has a wider adoption and support compared to HDS. Apple also holds almost 16% of the global smartphone market (second behind Samsung- 22%). That means using HDS instead of HLS would cut out a significant chunk of potential viewers from your streams. Lastly, HDS was initially intended to be used with Adobe Flash, which has since been discontinued.

2. Real-Time Messaging Protocol (RTMP)

Macromedia developed RTMP (Real-Time Messaging Protocol) in the mid-2000s. Many know this protocol simply as Flash, designed for audio and video streaming. Macromedia later merged with Adobe, which now develops RTMP as a semi-open standard. RTMP streams media over TCP or UDP protocols, unlike HLS, which uses the HTTP protocol. RTMP is no longer the standard for live video and audio data streaming, but it still has a place in the process and is mainly used behind the scenes.

For much of the past decade, RTMP was the default video streaming method on the internet. But with the recent rise of HLS, we’ve seen a decline in the usage of RTMP. 

Even today, most streaming video hosting services work with RTMP encoders to ingest live streams via HLS. 

In other words, broadcasters deliver their streams to their chosen video platform in RTMP stream format. Then, the OVP usually delivers those streams to viewers via HLS, including in-China video hosting, which Dacast now offers. Even this legacy use of RTMP streams is beginning to fade in recent years. More and more CDNs (Content Delivery Networks) are beginning to depreciate RTMP support.

3. Microsoft Smooth Streaming (MSS)

Next up is the streaming protocol MSS (Microsoft Smooth Streaming).

As the name implies, it’s Microsoft’s version of a live-streaming protocol. Smooth Streaming also uses the adaptive bitrate approach, delivering the best quality available at any given time. First introduced in 2008, MSS was one of the first adaptive bitrate methods to hit the public realm. The MSS protocol helped to broadcast the 2008 Summer Olympics that year. The most widely used MSS platform today is the Xbox One. 

However, MSS is one of the less popular streaming protocols available today. HLS should be the default method over this lesser-used approach in almost all cases. HLS has advantages over MSS, including deploying on ordinary HTTP servers, supporting multiplexed and non-multiplexed content, and running MPEG-2 TS Segments.

4. Dynamic Adaptive Streaming over HTTP (MPEG-DASH)

The newest entry in the streaming protocol format wars is MPEG-DASH. The DASH stands for Dynamic Adaptive Streaming (over HTTP). MPEG-DASH comes with several advantages. First, it is the first international standard streaming protocol based on HTTP. This feature has helped to quicken the process of widespread adoption. 

For now, MPEG-DASH is a relatively new protocol and isn’t widely used across the streaming industry. However, like the rest of the industry, we expect MPEG-DASH to become the de facto standard for streaming within a couple of years. One major advantage of MPEG-DASH is that this protocol is “codec agnostic.” Simply put, this means that the video or media files sent via MPEG-DASH can utilize a variety of encoding formats. 

These encoding formats include supported standards like H.264  (as with the former HLS streaming video protocol) and next-gen video formats like HEVC/H.265 and VP10. And like HLS, MPEG-DASH is an adaptive bitrate streaming video method.

So, who wins the MPEG-DASH vs. HLS battle? The truth is that there’s not much difference between the two. Both can deliver high-quality HD streaming, which is the priority for broadcasters. They also support higher resolution video, including 4k video resolution. However, HLS gets an edge over MPEG-DASH because it offers wider compatibility. HLS provides the features and compatibility you need. 

But we’ve mentioned that MPEG-DASH is a relatively new protocol, so maybe we should give it time. Despite its wide adoption and support, HLS has not been published as an international standard. MPEG-DASH is an international standard.

5. Real-Time Streaming Protocol (RTSP)

Real-time streaming protocol, or RTSP for short, is a protocol that helps manage and control live stream content rather than transmitting the content. It is considered a “presentation layer protocol.” It is a pretty old protocol, initially developed in the late 1990s. RTSP was developed in collaboration with Columbia University, Real Network, and Netscape. 

RTSP is known for having extremely low streaming latency, which is undoubtedly a plus. Unfortunately, this protocol comes with a slew of limitations.

Because of its low streaming latency, RTSP requires a constant and stable network connection. Unstable networks will result in dropped frames, macro blocking, and other visual artefacts. Android and iOS devices also don’t have RTSP-compatible players, hence rarely used. 

Additionally, RTSP also cannot easily be cached for widespread distribution. That’s why it’s rarely used for internet-based content streaming. It’s best suited for networks where the operator has end-to-end control of the network environment. RTSP remains standard in many surveillance and closed-circuit television (CCTV) architectures because RTSP support is still ubiquitous in IP cameras.

6. Web Real-Time Communication (WebRTC)

Web Real-Time Communication (WebRTC) is a free, open-source technology released by Google and Ericsson in 2011 to enable real-time video, audio, and data communication without plugins. It’s used to allow real-time video and audio communication inside web pages. While still a relatively new protocol, WebRTC has gained the support of major players in the industry, such as Microsoft, Opera, Mozilla, and even Apple, among others. 

Its adoption on mobile platforms and in the IoT space has been increasing steadily. 

However, WebRTC still lacks the scalability that HLS offers. The intense bandwidth configuration required to support multiple peer connections cannot go beyond a few thousand connections. 

7. Secure Reliable Transport (SRT)

Like WebRTC, SRT is a relatively new streaming protocol. It was developed by Haivision, a leading player in the online streaming space, in 2017. It’s an open-source technology that aims to minimize the effects of jitter,  bandwidth changes, and packet loss to optimize the streaming experience. Industry experts consider it the future of live streaming due to its security, reliability, and low latency streaming. 

Haivision created the SRT Alliance, a group of companies in the tech and telecommunications industry, to help bring SRT into the mainstream live-streaming space. Currently, the best way to access SRT is by using technology founded by or backed by any SRT Alliance members.

SRT supports all types of video and audio codecs. It also supports all transport and package formats. However, Haivision does not specify playback support and the segment duration for SRT.

If you want to be on the cutting edge of video streaming protocols, consider adapting SRT. It is considered the future of streaming alongside HLS, WebRTC, and MPEG-DASH.  SRT makes it easy to traverse firewalls without needing help, and it’s economical to deploy over the existing network infrastructure.

Advantages of HLS Video Streaming Over Other Protocols

hls protocol

The HLS video streaming protocol has a wide range of advantages that make it attractive to broadcasters.

In the first half of this article, we covered a major advantage of HLS over other protocols in terms of streaming video quality. In particular, broadcasters can deliver streams using the adaptive bitrate process supported by HLS. That way, each viewer can receive the best quality stream for their internet connection at any moment. 

This protocol includes several other key benefits such as:

  • Embedded closed captions

  • Synchronized playback of multiple streams

  • Good advertising standards support

  • DRM support

  • Support for multiple browsers and operating systems

  • Smartphones automatically select the data rate for playing media

  • Better security

  • No complexity at the users’ end

  • Support on most network infrastructure 

The takeaway here for broadcasters? For now and at least in the shorter-term future, HLS is the definitive default standard for live streaming content.

Devices and Browsers That Support HLS

The HLS streaming protocol is widely supported across multiple devices and browsers. Initially limited to iOS devices like iPhones, iPads, and the iPod Touch, the HLS streaming server is now supported by the following devices and browsers:

  • All Google Chrome browsers

  • Mozilla Firefox 

  • Safari

  • Opera

  • Microsoft Edge

  • iOS devices

  • Android devices 

  • Linux devices

  • Samsung Internet

  • Microsoft devices

  • macOS platforms 

At this point, HLS is a nearly universal protocol. If you want to stream online, you want to use HLS streaming. 

When to Use HLS Streaming?

Currently, we recommend that broadcasters always adopt the HLS streaming protocol. It’s the most up-to-date and widely used protocol for media streaming. For example, 45% of broadcasters reported using HLS streaming in this  Video Streaming Latency Report. RTMP came in second, with 33% of broadcasters using that alternative. And MPEG-DASH trailed behind even further, used by only 7% of broadcasters.

1. Streaming to Mobile Devices

http live streaming

Developed by Apple, HLS mobile streaming supports all portable devices, including iPhone, iPad, and other streaming media players.

When it comes to streaming to mobile devices and tablets, you need to use HLS. As of May 202358.26% of all web traffic comes through mobile phones. Mobile devices now make up most of the internet traffic, so any streaming solution you use needs to work with mobile devices. HLS is essential for mobile streaming.

2. Streaming With an HTML5 Video Player

The native HTML5 video player is the standard player used to play video content on websites, apps, and mobile devices. However, HTML5 video players don’t support RTMP or HDS.  You need to use HLS with an HTML5 video player. HLS allows for content delivery to your video player. Along with reaching mobile devices, these considerations point towards HLS as the default standard. If you’re stuck using Flash technology for the moment, RTMP will be a better delivery method—but only if you have no other option.

One Drawback of HLS Streaming

HLS streaming does have one disadvantage, which we mentioned above. Namely, it has a relatively higher latency than some other protocols. That means that HLS streams are not quite as “live” as the term live streaming suggests.  Generally, with HLS, viewers can experience delays of up to 30 seconds (or more, in some cases). That means that if you’re streaming a video, it’ll take 30 seconds to reach the viewer, so they see the content as close to live as possible.  

That can be an issue if you are streaming something like a sporting event, where people may be commenting on the event, and you don’t want a large delay between what is happening and when your viewers see the content. 

However, this delay is manageable with many live streams, such as a conference or a graduation ceremony. That said, this isn’t a problem for most broadcasters. Most live streams can handle that delay without causing user dissatisfaction. One protocol that works well to reduce latency with HLS video streaming is Low-Latency CMAF for DASH. This protocol works with the content delivery network and HTML5 video player to carry the weight where HLS streaming is lacking. 

If you’re streaming something such as live sports, you should use this; if you don’t want a long delay, you should use this.  Using tools such as CMAF allows you to overcome one of the few drawbacks of using HLS video streaming. 

Another (minor) drawback worth noting is that HLS streaming requires at least three segments to remain in the queue before it allows video playback.

Building an RTMP to HLS Workflow

We’ve covered what HLS is, how it works, and when to use it. We’ve also looked at alternative streaming protocols from the past and present. Now, let’s discuss how to build an RTMP Ingest to HLS workflow. If you’re using a streaming service like Dacast, you need to build a workflow that begins as RTMP. This is much simpler than it sounds. 

You must configure your hardware or software encoder to deliver an RTMP stream to the Dacast servers. Most encoders default to RTMP and quite a few only support that standard. For Dacast users, our CDN partners then ingest the RTMP stream and automatically rebroadcast it via both HLS and RTMP. From there, viewers default to the best-supported method on their own devices. 

Using HLS is relatively straightforward with a professional, full-service OVP. On Dacast, all live streams default to HLS delivery. On computers that support Flash, we fall back on RTMP/Flash to reduce latency. However, HLS is supported automatically on every Dacast live stream and is used on almost all devices. As we discussed above, HLS streaming is delivered through an M3U8 file. This file is a kind of playlist containing references to media files’ location.  On a local machine, these would consist of file paths. For live streaming on the internet, that M3U8 file would contain a URL (the one on which your stream is being delivered). 

Another relevant process to note quickly is transmuxing. Transmuxing is the process that repackages content files without distorting the content itself. That allows the content to flow more easily between software via the RTMP and HLS protocols.

HTML5 Video Streaming With HLS

HTML5 Video Streaming

HTML5 video players are essentially the universal, all-device video player.

The HLS protocol has become the go-to approach for streaming content with HTML5 video players. If you’re not familiar with HTML5 video streaming, it’s one of the three main approaches to video streaming today. With HTML5, the content-hosting website uses native HTTP to stream the media directly to viewers. Content tags (e.g., <video> tag) are included as part of the HTML code.  As a result, the <video> tag creates a native HTML5 video player within your browser. 

These tags provide direction to the HTTP protocol (HLS) and what to do with this content. HTTP displays the text, and an audio player plays audio content. 

Like HLS, HTML5 is customizable for broadcasters and free for viewers. To learn more, you can check out our related post on optimizing HTML5 video players with HLS.  We’ve also written extensively about the transition from Flash-based video (usually delivered via RTMP) to HTML5 video (usually delivered using HLS). Check out our “Flash is Dead” RTMP-focused blog post for more on that subject, including why it’s important to use an HTML5 video player. 

If you’re streaming over the Dacast, you’re already using a fully compatible HTML5 video player. Content delivered via Dacast defaults to HTML5 delivery. 

However, it’ll use Flash as a backup method if HTML5 is not supported on a given device or browser. That means that even older devices with Flash will have no problem playing your content over your Dacast account. Of course, some broadcasters may prefer to use a custom video player. Luckily, it’s quite simple to embed your HLS stream within any video player. 

For example, if you’re using JW Player, insert the M3U8 reference URL into the code for your video player. Here’s a visual example: var playerInstance = jwplayer(“myElement”); playerInstance.setup({ file: “/assets/myVideoStream.m3u8”, image: “/assets/myPoster.jpg” }); 

Another note about using HLS and an HTML5 video player with Dacast is that Dacast uses the THEOplayer. THEOplayer is a universal video player that can be embedded in websites, mobile apps, and any platform you can think of. As mentioned before, compatibility is critical when choosing video players and protocols since you want to reach the most people possible.

The Future of Live Streaming

what is hls streaming

Live streaming seems to grow faster by the minute. We can’t wait for future technical improvements in video delivery, security, privacy, and more.

Before wrapping things up, let’s recap our discussion of some of the advantages of the HLS streaming protocol. First, there’s no particular infrastructure required to deliver HLS content. Any standard web server or CDN will function well. 

Additionally, firewalls are much less likely to block content using HLS. In terms of technical functionality, HLS will play video encoded with the H.264 or HEVC/H.265 codecs. It then chops the video into 10-second segments. Remember, latency for delivery tends to be in the 30-second range.  However, Dacast now has a low-latency HLS live streaming solution that reduces latency to 10 seconds or less. The HLS protocol also includes several other built-in features. For example, HLS is an adaptive bitrate streaming protocol. That means the client device and server dynamically detect the user’s internet speed and then adjust video quality in response.

Other beneficial HLS features include support for embedded closed captions, synchronized playback of multiple streams, advertising standards (i.e., VPAID and VAST), DRM, and more. 

While HLS is the current gold standard for live streaming, it won’t stay that way indefinitely. We expect MPEG-DASH to become increasingly popular in the coming years.  As that shift takes place, we’ll see other changes, such as the transition away from h.264 encoding to h.265/HEVC. This new compression standard provides much smaller file sizes, making 4K live-streaming a real possibility. However, that time isn’t here yet. 

For now, it’s vital to stick with the established standards to reach as many users as possible on their devices. In other words, HLS is the streaming protocol of the present.

Conclusion

HLS video is the current standard for any high-quality video content delivery network. It’s widely supported and provides high-definition video with minimal buffering. Furthermore, it can run on almost any server and can be viewed on most devices. For businesses, broadcasters and content creators today, it’s a dream.

You should now have a better understanding of how HLS streaming work, its benefits and when to use it. We’ve also outlined the future of HLS streaming technology, the technicalities and its future. Ultimately, it’s a huge leap forward in video. And with a vast array of live-streaming tools available, such as Dacast’s live-streaming platform, taking advantage of HLS has never been easier.

Fortunately, you can take advantage right now. Dacast is a complete video streaming solution for any business, organization or creator. With Dacast’s 14-day free trial, you can try the feature-rich platform and experience the benefits. Signing up is quick, easy and requires no commitments.

Get Started for Free

You’re invited to join our LinkedIn group for exclusive offers and regular live-streaming tips. Finally, do you have further questions, thoughts, or feedback about this article? We’d love to hear from you in the chat section below, and we will get back to you. Thanks for reading!

Max Wilbert

Max Wilbert is a passionate writer, live streaming practitioner, and has strong expertise in the video streaming industry.