HLS Trick Play via Variant Playlist Conversion

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvetrick play functionalityVSAvoidserver resource burden
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If multiple variant playlists are maintained for trick play, then trick rate support is improved, but device complexity increases

Engineering Contradiction:
Improvetrick rate supportVSAvoidplaylist management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11750882B2Trick play and trick rate support for HLS
Publication Date: 2023.09.05 ARRIS ENTERPRISES LLC
  • US11750882B2 patent drawing
  • US11750882B2 patent drawing
  • US11750882B2 patent drawing

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.