Live Video Synchronization via Dynamic Playback Offsets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing live video streaming systems often result in viewers becoming out of sync due to segment-based video streaming and varying network latency across client devices, leading to inconsistent viewing experiences, especially in critical moments.

Innovation Solution

Client devices receive a program manifest and playback offsets from a social networking server to synchronize video playback, adjusting their position dynamically based on network conditions and available bitrates, ensuring all devices stay aligned within a threshold, and switching to the appropriate segment if a significant discrepancy is detected.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If video stream is broken into segments for streaming, then video delivery efficiency is improved, but viewer synchronization deteriorates

Engineering Contradiction:
Improvevideo delivery efficiencyVSAvoidviewer synchronization
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The system continuously monitors the playback positions of all client devices and compares them against a reference timeline. When deviations are detected, the server sends feedback messages to clients to adjust their playback positions, ensuring synchronization is maintained despite segment-based delivery

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically adjusts playback parameters including playback speed and timing offsets based on network conditions and client device performance. By changing these parameters in real-time, the system maintains synchronization accuracy while delivering segmented video streams efficiently

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If default playback behavior starts at beginning of current segment, then client device simplicity is improved, but synchronization accuracy deteriorates

Engineering Contradiction:
Improveclient device simplicityVSAvoidsynchronization accuracy
Core Design Contradiction:
Ease of operationVSManufacturing precision

Solution Approach 1:

The server pre-calculates and sends playback offset values to client devices before they need to adjust their playback position. This allows clients to maintain simple default behavior while still achieving accurate synchronization through the pre-prepared offset information

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The server acts as an intermediary that manages the complexity of synchronization calculations. Instead of requiring complex client-side logic to handle segment boundaries and timing, the server processes all synchronization computations and provides simple offset values to clients

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If different network latency is tolerated for different client devices, then network adaptability is improved, but playback synchronization deteriorates

Engineering Contradiction:
Improvenetwork adaptabilityVSAvoidplayback synchronization
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

Solution Approach 1:

The system provides customized playback offset values tailored to each client device's specific network conditions and performance characteristics. By optimizing the synchronization approach for each individual client rather than using a uniform method, the system maintains both network adaptability and synchronization precision

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10397636B1Methods and systems for synchronizing data streams across multiple client devices
Publication Date: 2019.08.27 META PLATFORMS INC
  • US10397636B1 patent drawing
  • US10397636B1 patent drawing
  • US10397636B1 patent drawing

AI summary

An electronic device has one or more processors, a display, and memory. The memory stores one or more programs configured for execution by the one or more processors. The device receives, from a content delivery network, a program manifest including one or more video segments of a video. The electronic device parses the program manifest to identify a timeline for the video that spans the video segments. The electronic device receives, from a social-networking server, a playback offset for the video. In accordance with the playback offset and the timeline for the video, the electronic device determines a designated video segment and a playback position within the designated video segment. The electronic device then plays the video segments sequentially on the electronic device, commencing at the playback position within the designated video segment.