HLS, short for HTTP Live Streaming, is a protocol for delivering audio and video over the internet as a sequence of short files requested with ordinary web calls. A player first downloads a plain-text playlist, then fetches the segments it lists one after another, moving between copies of the same content encoded at different quality levels as network conditions change. Apple introduced it in 2009 for the iPhone. The older approach, streaming over RTSP, was frequently stopped by firewalls, according to AppleInsider's account at the time, while HTTP traffic passes through the same web servers and content delivery networks, or CDNs, that already carry web pages.

Advertising depends on it for a simple reason. The playlist is where a commercial break becomes addressable: servers rewrite it to stitch in advertisements, players read markers inside it to find breaks, and measurement standards now refer to the protocol by name.

How a stream is assembled

According to Apple's developer documentation, a stream has three parts: a server component, a distribution component and client software. An encoder compresses the incoming feed, a segmenter cuts the output into short media files placed on a web server, and the segmenter maintains an index listing those files. That index is the playlist, a UTF-8 text file with the extension .m3u8 whose lines are either segment addresses or tags beginning #EXT.

Playlists operate at two levels. A multivariant playlist, called the master playlist in the 2017 specification, lists the available versions of a stream, each declared by an EXT-X-STREAM-INF tag carrying a BANDWIDTH value. Each entry points to a media playlist, which lists the segments. EXTINF records each segment's duration, EXT-X-TARGETDURATION sets the ceiling, EXT-X-MEDIA-SEQUENCE numbers the segments, EXT-X-KEY supplies decryption details and EXT-X-ENDLIST marks on-demand content that will not grow. For live streams the player reloads the media playlist repeatedly to discover new segments.

Segments take one of three forms defined in RFC 8216: MPEG-2 transport streams, fragmented MPEG-4, known as fMP4, and packed audio. Apple's authoring guidance recommends a six-second target duration. A 30-minute episode cut into six-second segments yields 300 files per version; offered at five quality levels, that becomes 1,500 media files, five media playlists and one multivariant playlist. A player on a congested mobile connection drops a level at the next segment boundary, so quality changes every few seconds instead of playback stopping.

Operators sit almost entirely on the sell side: broadcasters, streaming services, podcast hosts, encoding and packaging vendors and CDNs. Buyers rarely touch HLS directly. Their creative arrives through VAST, the IAB Tech Lab video ad serving template, and is converted into renditions matching the stream, which is why VAST 4.0 introduced a high-quality source file for stitching services.

Where advertising enters the playlist

Three mechanisms matter. The first is EXT-X-DISCONTINUITY. RFC 8216 requires the tag when file format, tracks or timestamp sequence change, and recommends it when encoding parameters change, which is precisely what happens when a separately encoded advertisement is spliced between programme segments.

The second is break signalling. SCTE-35, the cue message standard first published by the Society of Cable Telecommunications Engineers in 2001, is carried in playlists through the EXT-X-DATERANGE tag, whose SCTE35-OUT and SCTE35-IN attributes hold hexadecimal cue payloads. According to Google Ad Manager documentation, the PLANNED-DURATION attribute is used as the expected break length, and metadata from EXT-X-DATERANGE or EXT-OATCLS-SCTE35 markup is extracted into custom key-values for targeting. A server-side ad insertion platform, abbreviated to SSAI, reads the cue, calls an ad decision server, conditions the returned creative to the content's quality ladder and rewrites the manifest. Google's dynamic ad insertion service uses HLS as its default stream format.

The third is HLS Interstitialsintroduced by Apple in 2021. An EXT-X-DATERANGE tag with the class com.apple.hls.interstitial carries either X-ASSET-URI, pointing to a single advertisement, or X-ASSET-LIST, pointing to a JSON document whose ASSETS array describes a pod, according to Apple's implementation guide. The player resolves the break itself. Apple added an HLS_primary_id query parameter in 2022 so ad requests can be tied to the viewing session that generated them.

From iPhone feature to internet draft

Roger Pantos of Apple submitted the first draft to the Internet Engineering Task Force on May 1, 2009, describing version 1.0 of the protocol. A 2010 revision named the iPhone media player in iPhone OS 3.0 and QuickTime Player in Mac OS X Snow Leopard as its applications. AppleInsider observed in July 2009 that the design resembled Smooth Streaming, which Microsoft had begun selling the previous year.

After 23 revisions the document became RFC 8216 in August 2017, co-authored by William May of MLB Advanced Media and describing protocol version 7. It was published as an informational independent submission, not as an IETF standard. Apple had meanwhile announced fMP4 segment support at its June 2016 developer conference, allowing the same media files to serve both HLS and MPEG-DASH, with only the manifests differing, according to informitv. Until then, distributors reaching both audiences had to package and store every title twice.

Work on a second edition began on December 8, 2017. Low-Latency HLS followed in June 2019 with a target below two seconds, and Interstitials in 2021. As of September 2026 the current text is draft revision 22, dated May 1, 2026, which describes protocol version 13 and states that it was developed by Apple and does not represent IETF consensus.

Why it matters to advertisers

Connected television runs on it. A free ad-supported streaming channel encodes its scheduled feed into HLS before SCTE-35 markers and server-side insertion turn breaks into sellable inventory. IAB Europe's April 2026 programmatic guide stated that publishers should disclose when SSAI is used and whether impressions are counted server-side, client-side or both.

Podcasting joined in 2026. Apple announced HLS video for Apple Podcasts on February 16, 2026, with dynamic ad insertion and four launch hosts: Acast, ART19, Triton's Omny Studio and SiriusXM. Apple charges ad networks an impression-based fee rather than billing creators, and Acast ran the first integrated video campaigns on May 13, 2026, with State Farm and T-Mobile across 117 shows, a company-reported figure.

Adoption figures come from vendor surveys. Bitmovin's developer survey found 78% of respondents using HLS in 2017 and 73% in 2021, ahead of MPEG-DASH on both occasions, according to Streaming Media.

Limitations and disputes

Latency is structural. The specification sets HOLD-BACK, the distance from the live edge at which playback starts, at no less than three target durations, so six-second segments create an 18-second floor; Mux figures put standard HLS at 25 to 30 seconds behind live.

Governance is disputed on procedural grounds. HLS remains an Apple-edited informational document, while MPEG-DASH is an ISO standard. Ad signalling has fragmented as a result. Packagers emit at least five marker styles, according to a Bitmovin guide, including EXT-X-CUE-OUT and EXT-OATCLS-SCTE35, which sit outside the specification, and each insertion platform documents the subset it accepts. A cue stripped during transcoding leaves a break that cannot be sold.

Measurement is the deeper problem. When breaks are stitched on a server, beacons describe what the server transmitted rather than what a screen rendered. HUMAN Security disclosed in July 2026 a scheme that spoofed device, app and IP details through server-side insertion at a peak of two billion bid requests a day. Interstitials restore player-side reporting but depend on player support that much of the installed television base lacks.

Podcast counting is only partly settled. IAB Tech Lab's draft guidelines cover HLS episodes delivered through open RSS feeds, but episodes streamed inside Netflix fall outside that framework. Acast chief executive Greg Glenday said the company was working with the IAB on "establishing industry standards for HLS measurement".

Not the same as

MPEG-DASH, published as ISO/IEC 23009-1 in April 2012, applies the same segment-and-manifest idea through an XML document called a Media Presentation Description. It competes with HLS rather than extending it.

CMAF, the Common Media Application Format, is a packaging format rather than a delivery protocol: one set of fMP4 segments referenced by both an HLS playlist and a DASH manifest. Sources date its first publication to 2017 or 2018.

SSAI and server-guided ad insertion are insertion techniques operating on HLS or DASH playlists. HLS moves the media; they decide what enters the break.

VAST describes one advertisement to a player or server. It never carries the stream.

Recent developments

Apple's release notes for its developer conference, dated June 8, 2026, introduced Date Range Schedules: an EXT-X-DATERANGE class, com.apple.hls.daterange-schedule, whose X-URI attribute references a JSON list of date ranges. According to Apple, the mechanism gives more flexibility for server-driven interstitial insertion. The same release let EXT-X-PRELOAD-HINT announce upcoming decryption keys to spread key-server load during high-concurrency live events.

Standards work has moved in parallel. IAB Australia published a server-guided ad insertion explainer on August 6, 2026, citing a Belgium against Egypt World Cup match streamed by RTBF on June 15, 2026 as the reference deployment. IAB Tech Lab opened version 2.3 of its podcast measurement guidelines on July 21, 2026, naming HTTP Live Streaming explicitly, with a version 3.0 focused on streaming video podcasts planned for 2027.

Supply is widening. Acast activated HLS video in Sweden on April 30, 2026Flightcast added support on May 18, and Spotify said Megaphone and Spotify for Creators would follow later in 2026. SiriusXM's July 2026 earnings presentation described a video podcast advertising partnership with Apple. Draft revision 22 of the specification expires on November 2, 2026, and Apple has posted a preliminary version of the next update on its developer site.

Timeline

  • May 1, 2009: Apple submits draft-pantos-http-live-streaming-00, describing HLS protocol version 1.0
  • June 2009: HLS ships with iPhone OS 3.0, with QuickTime Player in Mac OS X Snow Leopard following
  • April 2012: MPEG-DASH is published as ISO/IEC 23009-1
  • June 2016: Apple announces fragmented MPEG-4 segment support in HLS at WWDC
  • August 2017: HLS is published as RFC 8216, an informational independent submission describing protocol version 7
  • December 8, 2017: The first draft of HTTP Live Streaming 2nd Edition is published, describing version 8
  • June 2019: Apple introduces Low-Latency HLS with a target below two seconds
  • 2021: Apple introduces HLS Interstitials based on EXT-X-DATERANGE
  • 2022: Apple adds the HLS_primary_id parameter linking interstitial requests to primary sessions
  • May 10, 2023: Draft revision 13 describes protocol version 12
  • August 20, 2025: Draft revision 18 describes protocol version 13
  • February 16, 2026: Apple announces HLS video podcasts with dynamic ad insertion and four launch hosts
  • April 30, 2026: Acast activates Apple Podcasts HLS video in Sweden
  • May 1, 2026: Draft revision 22 is published, still describing protocol version 13
  • May 13, 2026: Acast runs the first integrated video campaigns on Apple Podcasts
  • June 8, 2026: Apple's WWDC notes introduce Date Range Schedules for server-driven interstitials
  • June 15, 2026: RTBF deploys server-guided ad insertion during a World Cup match
  • July 21, 2026: IAB Tech Lab opens version 2.3 of its podcast measurement guidelines, covering HLS video
  • August 6, 2026: IAB Australia publishes its server-guided ad insertion explainer
  • November 2, 2026: Draft revision 22 is scheduled to expire

Summary

Who. Apple created and edits the specification, with Roger Pantos as editor. Broadcasters, streaming services, podcast hosts, packaging vendors and CDNs operate it; insertion platforms such as Google's dynamic ad insertion service and AWS Elemental MediaTailor rewrite its playlists; IAB Tech Lab, IAB Europe and IAB Australia address how advertising inside it is signalled and counted.

What. HLS is an HTTP-based adaptive streaming protocol in which a text playlist lists short media segments available at several quality levels. Its tags carry segment timing, encryption, discontinuities, SCTE-35 break markers and interstitial advertisements.

When. Apple submitted the first draft on May 1, 2009, published RFC 8216 in August 2017, added fMP4 in 2016, Low-Latency HLS in 2019 and Interstitials in 2021. Draft revision 22, dated May 1, 2026, is current as of September 2026.

Where. It runs across Apple devices, connected televisions, free ad-supported channels, broadcaster streaming services, web players and, since 2026, video podcasts in Apple Podcasts, delivered through standard web servers and CDNs.

Why. Segmenting media over ordinary HTTP made large-scale adaptive streaming cheap to deliver. For advertising, the playlist became the point at which breaks are signalled, stitched and measured, which also makes it the point where verification gaps and fraud concentrate.