HLS Trick Play via Variant Playlist Conversion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current HTTP Live Streaming (HLS) technologies face challenges in supporting trick play and trick rate functionalities, particularly in managing sliding window playlists, which lead to increased server resource burden and bandwidth usage due to frequent updates and requests for updated playlists, limiting the viewer's ability to seamlessly fast forward, rewind, and pause live content.
Innovation Solution
The implementation of a system that maintains and updates multiple variant playlists, including VOD, event, and sliding window playlists, allows for efficient trick play support by periodically requesting and storing updated playlists, using a single master manifest to manage bitrates and playback options, and converting sliding window playlists to event playlists upon channel switching, thereby optimizing server load and bandwidth usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If sliding window playlists are frequently updated to support trick play, then trick play functionality is improved, but server resource burden and bandwidth usage increase
Solution Approach 1:
The system pre-generates and stores multiple variant playlists with different trick rates (0.5x, 0.25x, 0.125x, 2x, 4x, 6x) before they are needed. When trick play is requested, the player can immediately use the pre-prepared playlist without requiring real-time generation, thus reducing server resource burden during actual trick play operations
Solution Approach 2:
The system dynamically selects appropriate trick rate playlists based on the player's current state and request. Instead of maintaining all possible playlists continuously updated, the system generates and maintains only the necessary variant playlists (e.g., maintaining event playlists for trick play and sliding window playlists for live viewing), adapting the playlist structure to the current playback needs
2Adaptability or versatility
If multiple variant playlists are maintained for trick play, then trick rate support is improved, but device complexity increases
Solution Approach 1:
The system uses a single master manifest file that serves multiple functions: it lists all variant playlists, provides selection criteria for different playback scenarios, and enables both live viewing and trick play operations. This universal manifest structure simplifies the overall system architecture compared to maintaining separate manifest files for each playlist type
Solution Approach 2:
The playlist system is segmented into different types (event playlists for trick play, sliding window playlists for live viewing) with clear delineation of their purposes. Each variant playlist is segmented by trick rate multiplier, allowing the player to efficiently select and switch between different rate variants without managing a monolithic complex structure
Data Source
AI summary
A method and system for rendering a HTTP Live Streaming video stream on a display includes a player receiving a master manifest from a network device in response to selecting a video channel. The player also receives a plurality of variant manifests referenced by the master manifest from the network device, where each of the variant manifests references video files each of which having a different bit rate for the same video stream. The player simultaneously maintains the variant manifests in the player. The player determines an effective start time of the video stream based upon the selecting video channel where the effective start time is a time later than an earliest time referenced in the plurality of variant manifests. The player enables reverse of the video stream based upon one of the variant manifests to as early as the effective start time and not enabling reverse of the video stream based upon one of the variant manifests to a time earlier than the effective start time.


