Share this
The Impact of Apple's Update of LL-HLS: Removing HTTP/2 Push Requirements
by THEOplayer on January 13, 2020
Last Friday Apple announced an update of their Low Latency HLS specification. In the new update, Apple is stepping away from the HTTP/2 push requirement stated in earlier specifications and seems to be moving closer to the community version of LHLS. In the overview below we will go through the most important changes and give some insights on the impact of this change.
Apple shared the update over a newly created mailing list, containing those who expressed interest in LL-HLS with a preview of the new update. While during time of writing this blog you cannot yet find it on the developer.apple.com page, it is expected to become public soon, together with new tools to setup a test environment.
“Apple had warned changes would still happen, but after a number of smaller tweaks, this update feels like the specification has been changed drastically.” - Pieter-Jan Speelmans, Founder and CTO of THEO Technologies.
The update completely removes the HTTP/2 push requirement, which was debated heavily in the industry. The HTTP/2 push requirement was causing friction: while it is clear the web is moving to new technologies, most commercial CDNs are not ready to supply this as a service yet. While some implementations were already under way and previews on certain CDN providers are becoming available, the implementations’ effort will no longer be relevant for LL-HLS anymore.
Instead of using HTTP/2 push, Apple is instead adding a new tag called #EXT-X-PRELOAD-HINT. With this tag, a server publishing a low latency HLS stream is required to announce the most likely location of the next media data which will become available. This allows a player client to perform a request, allowing the data to flow in as soon as the next part of a segment becomes available. This process can then be repeated, allowing the removal of additional round-trip time when loading new media data (which was the main reason to use HTTP/2 push).
As an additional benefit, the process makes it easier for media players to measure the bandwidth to the server (which significantly simplifies measurements for adaptive bitrate in comparison with LL-DASH scenarios, where chunks can be delivered as they are being produced).
Along with new changes, there is also attention on media delivery for those who intend to leverage range requests. A packager can now announce the next segment in a preload hint and, as parts become available and get delivered in a chunked response (which is the approach used by LHLS and LL-DASH), playlist updates can reflect the internal segment structure by publishing new #EXT-X-PART information. As the request can remain open until all parts of the segment have been provided, it efficiently eliminates overhead and can reduce the number of requests needed to play an LL-HLS stream by half. It does not, however, impact the amount of playlist updates which need to be scheduled once every part duration. This can still provide a challenge for servers, but this feels like a challenge which can be resolved.
Additionally, the update presents another advantage as it eases compatibility with the major alternative low latency solutions currently on the market, such as LL-DASH and community LHLS. In fact, the new LL-HLS specification feels like a superset of LHLS, which also makes use of a tag to announce the location of the next segment. LL-HLS has the additional benefit of describing part structure, and a number of other interesting capabilities, but it is hard not to see the similarities. Over the last year, there was already a lot of consideration to finding a way to create interoperability between LL-HLS, LHLS and LL-DASH. Akamai’s Will Law ended Demuxed with a great talk on the topic a few months ago.
Another benefit which seems to still be under the radar is the impact this has on possible server-side ad insertion solutions. With HTTP/2 push, a server publishing the LL-HLS playlist had to have been able to also publish the media data.
As most playlist manipulator services don’t control the media data itself, this caused some headache with SSAI vendors. The new change again removes this requirement and allows media to be on a different server. As a result, parts and segments containing ad data can easily be hosted on a different endpoint, and external playlist manipulation services can still be used.
The change itself likely requires significant changes to those (THEO included) who had already started implementation of LL-HLS tools. The advantages due to the new change however are significant for the industry and will remove the HTTP/2 push adoption barrier, simplifying deploying the technology. It also clearly shows that LL-HLS is still in flux. Apple had warned changes would still happen, but after a number of smaller tweaks, this update feels like the specification has been changed drastically. It is still unclear when Apple will “finalize” the LL-HLS specification. It would not be unlikely for a final version to be announced during WWDC in 2020 (which is expected in June), with an actual move to production when the new OS versions start hitting devices (which is to be expected in September).
Feel free to subscribe to our insights and we’ll make sure to keep you up to date on how the specification evolves!
If you have any questions about LL-HLS updates and THEOplayer, don't hesitate to contact our experts.
Share this
- THEOplayer (45)
- online streaming (40)
- live streaming (35)
- low latency (32)
- video streaming (32)
- HESP (24)
- HLS (21)
- new features (21)
- THEO Technologies (20)
- SDK (19)
- THEOlive (17)
- best video player (17)
- html5 player (16)
- LL-HLS (15)
- cross-platform (15)
- online video (15)
- SmartTV (12)
- delivering content (12)
- MPEG-DASH (11)
- Tizen (11)
- latency (11)
- partnership (11)
- Samsung (10)
- awards (10)
- content monetisation (10)
- innovation (10)
- Big Screen (9)
- CDN (9)
- High Efficiency Streaming Protocol (9)
- fast zapping (9)
- video codec (9)
- SSAI (8)
- Ultra Low Latency (8)
- WebOS (8)
- advertising (8)
- viewers expercience (8)
- "content delivery" (7)
- Adobe flash (7)
- LG (7)
- Online Advertising (7)
- Streaming Media Readers' Choice Awards (7)
- html5 (7)
- low bandwidth (7)
- Apple (6)
- CMAF (6)
- Efficiency (6)
- Events (6)
- drm (6)
- interactive video (6)
- sports streaming (6)
- video content (6)
- viewer experience (6)
- ABR (5)
- Bandwidth Usage (5)
- Deloitte (5)
- HTTP (5)
- ad revenue (5)
- adaptive bitrate (5)
- nomination (5)
- reduce buffering (5)
- release (5)
- roku (5)
- sports betting (5)
- video monetization (5)
- AV1 (4)
- DVR (4)
- Encoding (4)
- THEO Technologies Partner Success Team (4)
- Update (4)
- case study (4)
- client-side ad insertion (4)
- content encryption (4)
- content protection (4)
- fast 50 (4)
- google (4)
- monetization (4)
- nab show (4)
- streaming media west (4)
- support matrix (4)
- AES-128 (3)
- Chrome (3)
- Cost Efficient (3)
- H.265 (3)
- HESP Alliance (3)
- HEVC (3)
- IBC (3)
- IBC trade show (3)
- THEOplayer Partner Success Team (3)
- VMAP (3)
- VOD (3)
- Year Award (3)
- content integration (3)
- customer case (3)
- customise feature (3)
- dynamic ad insertion (3)
- scalable (3)
- server-side ad insertion (3)
- video (3)
- video trends (3)
- webRTC (3)
- "network api" (2)
- Amino Technologies (2)
- Android TV (2)
- CSI Awards (2)
- Encryption (2)
- FireTV (2)
- H.264 (2)
- LHLS (2)
- LL-DASH (2)
- MPEG (2)
- Microsoft Silverlight (2)
- NAB (2)
- OMID (2)
- Press Release (2)
- React Native SDK (2)
- Start-Up Times (2)
- UI (2)
- VAST (2)
- VP9 (2)
- VPAID (2)
- VPAID2.0 (2)
- ad block detection (2)
- ad blocking (2)
- adobe (2)
- ads in HTML5 (2)
- analytics (2)
- android (2)
- captions (2)
- chromecast (2)
- chromecast support (2)
- clipping (2)
- closed captions (2)
- deloitte rising star (2)
- fast500 (2)
- frame accurate clipping (2)
- frame accurate seeking (2)
- metadata (2)
- multiple audio (2)
- playback speed (2)
- plugin-free (2)
- pricing (2)
- seamless transition (2)
- server-side ad replacement (2)
- subtitles (2)
- video publishers (2)
- viewer engagement (2)
- wowza (2)
- "smooth playback" (1)
- 360 Video (1)
- AOM (1)
- API (1)
- BVE (1)
- Best of Show (1)
- CEA-608 (1)
- CEA-708 (1)
- CORS (1)
- DIY (1)
- Edge (1)
- FCC (1)
- HLS stream (1)
- Hudl (1)
- LCEVC (1)
- Microsoft Azure Media Services (1)
- Monoscopic (1)
- NAB Show 2016 (1)
- NPM (1)
- NetOn.Live (1)
- OTT (1)
- Periscope (1)
- React Native (1)
- Real-time (1)
- SGAI (1)
- SIMID (1)
- Scale Up of the Year award (1)
- Seeking (1)
- Stereoscopic (1)
- Swisscom (1)
- TVB Europe (1)
- Tech Startup Day (1)
- Telenet (1)
- Uncategorized (1)
- University of Manitoba (1)
- User Interface (1)
- VR (1)
- VR180 (1)
- Vivaldi support (1)
- Vualto (1)
- adblock detection (1)
- apple tv (1)
- audio (1)
- autoplay (1)
- cloud (1)
- company news (1)
- facebook html5 (1)
- faster ABR (1)
- fmp4 (1)
- hiring (1)
- iGameMedia (1)
- iOS (1)
- iOS SDK (1)
- iPadOS (1)
- id3 (1)
- language localisation (1)
- micro moments (1)
- mobile ad (1)
- nagasoft (1)
- new web browser (1)
- offline playback (1)
- preloading (1)
- program-date-time (1)
- server-guided ad insertion (1)
- stream problems (1)
- streaming media east (1)
- support organization (1)
- thumbnails (1)
- use case (1)
- video clipping (1)
- video recording (1)
- video trends in 2016 (1)
- visibility (1)
- vulnerabilities (1)
- zero-day exploit (1)
- August 2024 (1)
- July 2024 (1)
- January 2024 (1)
- December 2023 (2)
- September 2023 (1)
- July 2023 (2)
- June 2023 (1)
- April 2023 (4)
- March 2023 (2)
- December 2022 (1)
- September 2022 (4)
- July 2022 (2)
- June 2022 (3)
- April 2022 (3)
- March 2022 (1)
- February 2022 (1)
- January 2022 (1)
- November 2021 (1)
- October 2021 (3)
- September 2021 (3)
- August 2021 (1)
- July 2021 (1)
- June 2021 (1)
- May 2021 (8)
- April 2021 (4)
- March 2021 (6)
- February 2021 (10)
- January 2021 (4)
- December 2020 (1)
- November 2020 (1)
- October 2020 (1)
- September 2020 (3)
- August 2020 (1)
- July 2020 (3)
- June 2020 (3)
- May 2020 (1)
- April 2020 (3)
- March 2020 (4)
- February 2020 (1)
- January 2020 (3)
- December 2019 (4)
- November 2019 (4)
- October 2019 (1)
- September 2019 (4)
- August 2019 (2)
- June 2019 (1)
- December 2018 (1)
- November 2018 (3)
- October 2018 (1)
- August 2018 (4)
- July 2018 (2)
- June 2018 (2)
- April 2018 (1)
- March 2018 (3)
- February 2018 (2)
- January 2018 (2)
- December 2017 (1)
- November 2017 (1)
- October 2017 (1)
- September 2017 (2)
- August 2017 (3)
- May 2017 (3)
- April 2017 (1)
- March 2017 (1)
- February 2017 (1)
- December 2016 (1)
- November 2016 (3)
- October 2016 (2)
- September 2016 (4)
- August 2016 (3)
- July 2016 (1)
- May 2016 (2)
- April 2016 (4)
- March 2016 (2)
- February 2016 (4)
- January 2016 (2)
- December 2015 (1)
- November 2015 (2)
- October 2015 (5)
- August 2015 (3)
- July 2015 (1)
- May 2015 (1)
- March 2015 (2)
- January 2015 (2)
- September 2014 (1)
- August 2014 (1)