What is HLS?
Hypertext Transfer Protocol Live Streaming (HLS) is a streaming protocol developed by Apple that is based on HTTP. A streaming protocol is a standardized format for delivering multimedia content. Streaming protocols define how content is sent from one device to another and how they are reassembled into playable content. The main innovation of HLS was to provide the videos in adaptive bitrate. Instead of using a single video file, HLS separates a video into many small parts. The video quality can be automatically adjusted if the available bandwidth is too low. In detail, if the upcoming parts have not been downloaded in high quality yet, the video quality is automatically lowered to avoid buffering times.
Why is HLS useful?
Without HLS, streaming would be very different today. We would still struggle with permanent buffering and quality issues whenever our connection got worse for a few seconds or needed to handle a bigger request. HLS was also a breakthrough in modern streaming technology. After Adobe protocols and players had been the standard for a long time, their technology was more or less overtaken by innovations like HLS or HTML5. A significant advantage is that it brings the possibility of specifications. So users can better adapt them to their needs. They are also considered to be more secure, faster, and more reliable than older technologies.
What is LL-HLS?
LL-HLS stands for Low Latency HLS. While the usual latency of video transmissions has already been reduced from about 30-60 seconds to 16-18 seconds in recent years, a new development surprised the streaming industry in 2020: Apple extended HLS with the ability to stream with lower latency. Low Latency HLS (LL-HLS) enabled latency as low as 2 to 8 seconds without losing scalability. Among many minor adjustments, these three changes to the protocol resulted in reduced latency:
Splitting the segments: The video segments in which a video file is transmitted is further subdivided. Each segment is now divided into even smaller “parts.” Each part is then listed separately in the segment playlist, so sequences that have already been played can disappear from the cache faster than longer segments and free up memory.
Preload Hints: The segment (or part) playlists can include preload hints that tell the player what data is needed. This can also reduce stream performance and latency, as the player has the data it requires before realizing it.
Unique identifiers: With the changes to the HLS protocol, it is possible to give each playlist a unique identifier. This can lead to more accessible and faster playback of playlists and faster deletion of outdated information in the cache.