HLS Stream Synchronization Using UTC-Based Playhead Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing HLS synchronization methods fail to account for different clients retrieving manifests at varying times, leading to desynchronization of live streams and lack network error handling, and do not provide quality of life features for multi-stream viewing.

Innovation Solution

A method using HTML MediaElements to calculate time differentials with a UTC time server, control playhead positions, and dynamically adjust playback to maintain synchronization across multiple HLS streams, employing APIs and seek functions to correct drift.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If clients start playback at the same segment using specialized infrastructure, then synchronization is achieved, but device complexity and infrastructure requirements increase

Engineering Contradiction:
Improvesynchronization reliabilityVSAvoidinfrastructure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Each client independently calculates its own time offset by comparing UTC time with encoder timestamps from the manifest, and autonomously adjusts its playhead position without requiring centralized coordination infrastructure. The system self-synchronizes using only the manifest file as a reference.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The manifest file serves as an intermediary carrying encoder timestamps that clients use to calculate time offsets. This simple text-based manifest acts as the synchronization mediator, replacing complex specialized infrastructure while maintaining reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If playback starts X seconds from live edge, then synchronization is simplified, but network error handling and drift correction are lost

Engineering Contradiction:
Improvesynchronization easeVSAvoidnetwork error resilience
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system continuously monitors the actual time offset during playback by comparing current UTC time with encoder timestamps, and provides feedback to adjust the playhead position when drift exceeds tolerance. This closed-loop feedback maintains synchronization reliability while keeping the system simple to operate.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The playhead position is dynamically adjusted during playback based on real-time offset calculations, allowing the system to adapt to network conditions and maintain synchronization. The time offset parameter is dynamic rather than fixed, enabling both ease of operation and error resilience.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If multiple HLS streams are viewed simultaneously, then multi-viewer functionality is enabled, but time synchronization and drift management become complex

Engineering Contradiction:
Improvemulti-stream viewing capabilityVSAvoidsynchronization management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A single time offset calculation mechanism based on UTC time and encoder timestamps serves all multiple HLS streams simultaneously. The same synchronization logic applies to every stream, providing universal synchronization management that scales to any number of streams without increasing complexity.

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

Data Source

PatentUS12593089B2HLS global synchronization and multi-viewer watch parties
Publication Date: 2026.03.31 NAPSTER CORP
  • US12593089B2 patent drawing
  • US12593089B2 patent drawing
  • US12593089B2 patent drawing

AI summary

Synchronizing is performed of multiple live Hypertext Transfer Protocol (HTTP) Live Streaming (HLS) streams in hypertext markup language (HTML) MediaElements. Time differentials are computed between video encoder date/time tags and current date/time retrieved from a universal time (UTC) time server. A playhead position of an HTML MediaElement is controlled to maintain a calculated time offset value defined as the current date/time minus a predefined time offset. MediaElement source content and the playhead position are dynamically controlled while maintaining video synchronization to the predefined time offset.