Preload Hinting for Low Latency HTTP Live Streaming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing streaming media content delivery systems face challenges in delivering live events with low latency, resulting in significant delays, which can be disappointing for users.
Innovation Solution
Incorporating a preload hint URI in HLS playlists that identifies a future media segment, allowing client devices to request and receive this segment before an updated playlist is available, using separate servers for playlist and media segment delivery, and employing blocking requests to ensure low latency streaming.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If conventional HLS systems wait for updated playlists before requesting media segments, then playlist synchronization is maintained, but streaming latency increases significantly
Solution Approach 1:
The system performs preliminary actions by including preload hint URIs in the current playlist that identify future media segments before they are officially available. Client devices use these hints to initiate blocking requests in advance, so when the segments become available, they can be delivered immediately without waiting for the next playlist update, thus reducing latency while maintaining synchronization through the blocking mechanism.
2Productivity
If client devices request media segments only after receiving updated playlists, then accurate segment identification is ensured, but delivery time increases
Solution Approach 1:
Client devices perform preliminary actions by extracting preload hint URIs from received playlists and sending blocking requests for future media segments before those segments are officially available in updated playlists. The server holds these requests in a blocking queue, ensuring segments are delivered at the correct time without delay, thus improving delivery speed while maintaining accurate segment identification.
3Productivity
If the system uses a single server for both playlist and media segment delivery, then system complexity is reduced, but request handling efficiency decreases
Solution Approach 1:
The system segments the server functionality into separate components: one server (or server system) handles playlist delivery and management, while another server handles media segment delivery and blocking request management. This segmentation allows each server to optimize its operations independently, improving overall request handling efficiency while managing complexity through modular architecture.
4Loss of time
If the system waits for future media segments to be produced before delivering them, then segment accuracy is maintained, but streaming latency increases
Solution Approach 1:
The system performs preliminary actions by having client devices send blocking requests for future media segments as soon as their URIs are identified in preload hint fields of current playlists. The server receives and queues these requests before the segments are produced, then immediately fulfills them when the segments become available, eliminating waiting time while maintaining accurate segment production timing through the blocking mechanism.
Data Source
AI summary
Streaming media systems, such as HTTP Live Streaming, can provide a low latency service by including, within a playlist, a URI that identifies a future media segment that will become available after the playlist is completed. Client devices can receive the playlist and can make two separate blocking requests for an updated playlist and for the future media segment. This approach allows the use of HTTP 1.1 to request and receive playlists and media segments and allows the use of two different servers to provide the playlist in the future media segment.


