HLS Circular Buffer for Seamless Trick Mode Playback
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current content processing systems for streaming media struggle to provide seamless playback of content streams, particularly in supporting 'trick' modes like pause, rewind, and fast forward without modifying data formats or making significant changes to the system.
Innovation Solution
The system partitions content streams into segments, generates playlists, and uses an HTTP Live Stream (HLS) circular buffer to create revised playlists, allowing client devices to access content segments and advertisements seamlessly, while enabling trick modes by updating playlists dynamically.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the system uses traditional streaming playback without circular buffer, then the system complexity is low, but the ability to support trick modes (pause, rewind, fast forward) is limited
Solution Approach 1:
The content stream is divided into discrete segments that are stored in the circular buffer, allowing random access to specific segments for trick modes while maintaining manageable system complexity through structured organization
Solution Approach 2:
The circular buffer pre-loads and stores content segments before they are needed for playback, enabling seamless trick modes by having content readily available in buffered form without requiring complex real-time processing
2Reliability
If the system dynamically updates playlists for trick modes, then the playback seamlessness is improved, but the data format modification requirements increase
Solution Approach 1:
The playlist is dynamically updated with new segments as they are buffered, allowing the system to adapt to trick mode requests in real-time while maintaining a consistent data format that clients can interpret without modification
Solution Approach 2:
The circular buffer acts as an intermediary layer between the content stream and the playlist, managing segment storage and retrieval while maintaining standard data formats that simplify client-side processing
Data Source
AI summary
A device may receive an update playlist file that lists segments of a content stream in an order that the segments are to be recombined by a client device; update a live playlist file based on the update playlist file; update a time playlist file by appending segment identifiers, which are included in the update playlist file and not included in the time playlist file, to the time playlist file; create a new playlist file that includes the segment identifiers and that does not include other segment identifiers; and send one of the live playlist file, time playlist file, or the new playlist file to a client device.


