
Over the past two decades, the media industry has undergone a significant transformation, introducing a wave of new concepts and technologies such as OTT, streaming, connected TV, DASH, and HLS. Even as a streaming media professional, I often find myself going back to the basics; searching for clear definitions and practical explanations of these evolving terms. This blog aims to provide a simple and practical introduction to one such concept: What is HLS?
HLS is an adaptive bitrate streaming protocol developed by Apple back in 2009 originally for devices in the Apple ecosystem. This streaming protocol delivers audio-video segments over standard HTTP connections with latency from 10 to 30 seconds. Although it is called HTTP live streaming, it is used for both on-demand video streaming and live streaming.
A major advantage of HLS is its adaptive bitrate streaming. On the server side a stream can be encoded/transcoded in multiple renditions at various bitrates. When a client (HLS player on an end user device) requests content from the server, the player selects the most suitable video rendition in real time. The player also keeps a buffer of segments in case it loses network connection, minimizing disruptions for the end user. This adaptive bitrate streaming keeps playback stable, even when network conditions change.
Let’s take a deeper look at the end-to-end process a media asset goes through to be delivered as an HLS stream:
Commonly, these packaged files (manifests and segments) are stored on the origin server and pushed out to the client over the internet (using HTTP protocol) when the player requests the content from the server. Typically, a content delivery network (CDN) will help distribute this packaged content.
The client requests the content master manifest URL (from a content delivery network) when an end user hits the play button on the HLS player. The client then selects a variant to play depending on the network bandwidth and fetches variant manifest (aka index) file as a reference for assembling the audio-video segments in order and it switches from higher quality to lower quality picture (and vice versa) as needed (depending on device display size, network bandwidth availability, etc).
In some use cases I have seen, HLS is combined with WebRTC to support both scalable playback or VOD delivery with real-time interaction. These workflows rely on switching between protocols depending on the viewing experience required. Emerging technologies like MOQ (Media over QUIC) are expected to provide these capabilities under one roof while simplifying the overall architecture.
HTTP live streaming is a widely compatible, scalable, secure and reliable egress streaming protocol, making it a strong fit for workflows where video and audio need to be delivered to massive global audiences and latency is not critical.
For example, HLS is commonly used in video-on-demand (VOD) workflows because of its broad compatibility across platforms, browsers, and devices. It is supported by major streaming platforms and ecosystems such as Netflix, Amazon Prime, Roku, Apple TV+, etc.
Benefits of HLS:
Drawbacks of HLS:
Over the past decade, I’ve worked extensively with HTTP live streaming as the de facto streaming protocol across a wide range of use cases, and it has consistently delivered reliable, high-quality performance. Based on this experience, it’s clear that HLS offers broad compatibility across:
TCP and UDP are transport protocols responsible for delivering data over the internet. HLS operates over HTTP, which in turn relies on TCP, leveraging its reliable and ordered delivery mechanism to transport video segments. This ensures that all segments arrive intact and in sequence, minimizing packet loss and preventing video corruption; prioritizing playback stability and quality over raw speed. In contrast, UDP, which is used by protocols such as SRT and WebRTC, offers lower latency but does not guarantee delivery, making it more prone to packet loss.
Because HLS is delivered over HTTP, it behaves like regular web traffic, allowing it to seamlessly traverse firewalls and work across standard internet infrastructure. While UDP-based protocols are faster, TCP’s reliability makes it better suited for HLS’s segmented delivery model, where consistent and complete delivery of each segment is critical for smooth playback.
If you’re choosing a live streaming protocol for your application and weighing different options, the best approach is to compare them side by side to see which one fits your use case best. Below, I’ve covered the protocol comparisons developers ask about most often.
HLS is primarily an egress/playback protocol, whereas RTMP is mainly used for ingest and contribution workflows. HLS is optimized for content delivery and is rarely used for ingestion. It relies on segments and manifest playlists, which introduce higher latency but enable massive scalability through CDN-based distribution.
RTMP, on the other hand, offers lower latency and was once widely used for both ingest and playback during the Adobe Flash era. However, as Flash declined, playback shifted toward HTTP based live streaming protocols such as HLS. Today, RTMP continues to be commonly used for contribution and encoder-to-platform ingest workflows, while HLS remains the dominant protocol for large-scale playback across modern streaming devices and platforms. Read a detailed HLS vs RTMP comparison in our previous blog.
HLS is a streaming protocol designed for scalable streaming, whereas WebRTC is a broader real-time communication framework composed of multiple protocols, codecs, and JavaScript APIs that enable ultra-low-latency peer-to-peer communication. HLS follows a client-server delivery model over TCP/HTTP, which results in higher latency but provides reliable playback and seamless scalability through CDNs.
WebRTC, on the other hand, is primarily UDP-based and optimized for real-time interaction, enabling sub-second latency for applications such as video conferencing, live collaboration, and interactive streaming. While HLS scales efficiently to millions of viewers using CDN infrastructure, scaling WebRTC can be significantly more complex due to its peer-to-peer communication architecture and real-time processing requirements. See our previous blog for a detailed comparison of HLS vs WebRTC.
HLS and MPEG-DASH (Dynamic Adaptive Streaming over HTTP) are both HTTP-based streaming protocols that deliver high-quality audio-video over the internet using CDN. HLS, developed by Apple, is essential for Apple ecosystem compatibility, while DASH is an open-standard, codec-agnostic alternative commonly used for Android and web browsers.
LL-HLS is an extension of standard HLS designed to significantly reduce streaming latency. Traditional HLS typically uses segment durations of 2 to 12 seconds, which contributes to higher end to end latency. LL-HLS improves this by introducing partial segments, often less than one second in duration, reducing latency to approximately 2-3 seconds. In addition to lower latency, LL-HLS optimizes data transfer by delivering incremental playlist updates and smaller media chunks, making it more efficient than traditional HLS, which relies on larger segments and full playlist refreshes.
MOQ is an emerging open standard being developed by the IETF to unify real-time, sub-second, and on-demand video within a modern next-generation live streaming protocol. Because it relies on UDP, MOQ can achieve sub-second latency, though it is also more susceptible to packet loss. In contrast, HLS uses reliable TCP-based delivery, which comes with higher latency trade-offs. HLS distributes content through a client-server model over CDNs, while MOQ uses a publish-subscribe approach over QUIC relays. Although MOQ is still in its early stages, the media industry is actively exploring it as a potential next-generation solution for real-time content delivery.
Depending on your level of control and customization needs, you can live stream video and audio with HLS streaming protocol with wide device support, adaptive bitrate, and massive scalability through CDNs, with latency from 20 to 60 seconds to millions of viewers, we have got you covered. Visit our demo page, connect your camera and microphone, and experience HLS playback for yourself. Then read “How to Use HLS Streaming with Red5 Pro and Red5 Cloud” blog.
If you want a fully managed, globally distributed streaming solution with an intuitive dashboard, Red5 Cloud is the easiest place to start. Sign up with no credit card required and get the free tier every month:
Once you reach the 50 GB monthly limit, you can:
Check out this Youtube playlist to get started with Red5 Cloud.
If you need full customization, maximum flexibility, and complete control over your infrastructure, choose Red5 Pro, our server software built for ultra-low latency streaming at scale. Start with a 30-day trial and get access to all capabilities without limitations.
Learn more about HLS egress support in Red5 Pro and HLS plugin in our documentation.
Not sure which solution is the best fit for your streaming challenges? Visit our product comparison page or contact us to discuss your project.
So if you ask me “what is HLS”, I would say a widely adopted HTTP-based adaptive streaming protocol used to deliver audio-video reliably across devices by breaking content into small segments and dynamically adjusting quality based on network conditions. Its scalability via CDNs and broad compatibility make it the backbone of modern streaming workflows.
HLS stands for HTTP Based Live Streaming. It is a streaming protocol developed by Apple in 2009 and primarily used for content delivery. It distributes segmented video to viewers across browsers, mobile devices, and smart TVs with broad compatibility. Because it is optimized for playback rather than contribution, it is rarely used for ingest workflows. Its reliability and scalability make it well suited for reaching large audiences.
HLS is natively supported across the Apple ecosystem through the built-in AVPlayer framework, including playback in Safari browsers. On other modern browsers such as Microsoft Edge, Google Chrome, Firefox, and Brave, HLS is not natively supported but can be played using HTML5-based players (e.g., via JavaScript libraries like hls.js) that enable compatibility.
Yes, Netflix uses HLS for delivery specifically on Apple devices because of native playback support. While HLS is used for compatibility across many devices, Netflix also heavily uses MPEG-DASH as a primary, standardized protocol. For live content, Netflix uses HLS with CMAF to ensure reliability across devices.
HLS Stream is a package created after encoding-transcoding-packaging. Many software/hardware tools create this package which usually consists of a master manifest file (aka playlist file), variant manifest files, audio-video chunks etc.
For delivery, HLS typically relies on CDNs to scale efficiently. To make content available, the HLS stream (packaged assets) is hosted on a CDN. Once published, the CDN URL pointing to the master manifest file (also known as the playlist) serves as the HLS playback URL, which client players use to request segments and start streaming the content.
You can start streaming with HLS right away using our fully managed, globally distributed streaming PaaS solution, Red5 Cloud. No credit card is required to sign up, and you’ll get 50 GB of streaming free each month. If you need more flexibility in deployment, you can also begin a 30-day free trial with Red5 Pro to explore custom setups.