Client Playback Rate Adjustment for Live Streaming Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing streaming media content delivery systems face challenges in delivering live events with low latency, often resulting in significant delays, which can be frustrating for users, particularly when server and client clocks do not synchronize properly.
Innovation Solution
A client system detects differences between the server's and client's media segment production and consumption rates by analyzing timestamps and adjusting playback rates to synchronize with the server rate, thereby reducing latency and preventing buffer overloading or depletion.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If the streaming media system uses conventional HTTP playlists to deliver media segments, then the system can present streaming media content, but the latency between live event and displayed content becomes large (15 seconds or more)
Solution Approach 1:
The client system continuously monitors the difference between server rate and client rate using timestamps on media segments and playlists, then uses this feedback to dynamically adjust the playback rate. This closed-loop control allows the system to reduce latency by speeding up playback when the server is fast, while automatically correcting clock desynchronization issues through rate adjustment.
Solution Approach 2:
The playback rate is made dynamic rather than fixed. The system adjusts the playback rate in real-time based on the detected difference between server and client rates, allowing the client to adapt to varying network conditions and clock differences. This dynamic adjustment enables latency reduction without compromising reliability.
2Loss of time
If the client system increases playback rate to reduce latency, then latency is reduced, but the client buffer may be overloaded with too many media segments
Solution Approach 1:
The system uses feedback from timestamp analysis to determine the appropriate playback rate. By continuously monitoring the difference between server and client rates, the system adjusts playback speed to match actual server production rate, preventing buffer overload while maintaining low latency. The feedback mechanism ensures playback rate is optimized based on real-time conditions.
Solution Approach 2:
The playback rate parameter is changed dynamically based on detected clock differences. When the server rate differs from the client rate, the system adjusts the playback rate parameter to compensate, allowing the client to consume media segments at the appropriate speed. This parameter adjustment prevents both latency buildup and buffer overload.
3Quantity of substance
If the client system decreases playback rate to avoid buffer overload, then buffer management is improved, but latency increases
Solution Approach 1:
The playback rate is dynamically adjusted based on real-time detection of server-client rate differences. Rather than using a fixed low playback rate that would increase latency, the system adapts the rate to match server conditions. This dynamic approach allows the system to maintain low latency while preventing buffer overload through intelligent rate modulation.
Solution Approach 2:
The playback rate parameter is changed in response to detected clock differences. When the server is producing segments faster than the client consumes them, the system increases the playback rate parameter to reduce latency. Conversely, when the server is slower, the rate is decreased to prevent buffer overload. This parameter adaptation resolves the contradiction between latency and buffer management.
4Reliability
If the system uses timestamps to detect rate differences, then clock synchronization can be achieved, but the device complexity increases
Solution Approach 1:
The system uses timestamps that are already present in the media segment metadata, copying existing timing information rather than creating new complex synchronization mechanisms. By leveraging the timestamp data that is already part of the HLS/DASH streaming protocol, the system achieves clock synchronization without adding significant complexity to the device architecture.
Solution Approach 2:
The client system uses its own existing clock and the timestamps provided by the server to perform rate difference detection. The system serves itself by using readily available timing data to automatically adjust playback rate, eliminating the need for complex external synchronization hardware or protocols. This self-service approach achieves reliability without excessive complexity.
Data Source
AI summary
In one embodiment, systems, methods and non-transitory machine readable media detect differences between the rate of production, by a server, of media segments identified in an HTTP compliant playlist and the rate of consumption, by a client device, of the media segments in streaming media content. These differences, once detected, can be used to adjust a playback rate at the client to reduce the difference between the server rate and the client rate. This detection can be used in low latency streaming media contexts in which the client device is playing back content that is live, such as a live sports event happening during the playback by the client device. The adjustment of the client's playback rate can avoid running out of buffered media segments (when the client's rate is much faster than the server's rate) and can avoid increasing latency at the client device and overloading a buffer with too many media segments (when the client's rate is much slower than the server's rate).


