DASH MPD Wall-Clock Timing for Live Streaming Sync
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing live streaming technologies, such as HLS and SmoothStreaming, face challenges in providing accurate timing information for media segment creation and synchronization, leading to potential delays and desynchronization between client devices during live media streaming.
Innovation Solution
The proposed solution involves a source device advertising wall-clock times and synchronization methods, such as NTP or HTTP Timing Protocol, in a media presentation description (MPD) file, allowing client devices to synchronize their clocks and ensure accurate timing, enabling closer operation to the live edge and synchronized playback with other clients.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If existing live streaming technologies (HLS, SmoothStreaming) are used, then media content can be transmitted and received, but accurate timing information for media segment creation and synchronization is lost, leading to delays and desynchronization between client devices
Solution Approach 1:
The server performs preliminary actions by generating wall-clock time values for media segments before actual playback, and embeds these time values in the MPD manifest. This allows client devices to pre-synchronize their clocks with the server's timing, ensuring accurate timing information is available before streaming begins, thus eliminating synchronization delays without requiring real-time time synchronization protocols.
2Reliability
If wall-clock time synchronization is implemented, then client devices can synchronize their clocks with the server, but the system complexity increases due to additional synchronization protocols and methods
Solution Approach 1:
Instead of implementing complex real-time time synchronization protocols between server and clients, the server creates copies of wall-clock time values and embeds them directly in the MPD manifest files. Client devices simply read these embedded time values and synchronize their clocks accordingly. This copying approach achieves reliable synchronization while avoiding the complexity of continuous time synchronization protocol exchanges.
3Productivity
If media segments are prepared only after recording and encoding, then the streaming system operates efficiently with minimal preprocessing, but the live edge cannot be approached closely due to preparation delays
Solution Approach 1:
The server performs preliminary actions by generating and embedding wall-clock time values in the MPD manifest before media segments are fully prepared. This allows client devices to know in advance when segments will be ready, enabling them to initiate retrieval operations optimally. The server can then prepare segments in the background without blocking the streaming workflow, reducing perceived preparation delays while maintaining efficient processing.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
In one example, a client device for receiving information for streaming of media data includes a clock, and one or more processors configured to receive a media presentation description (MPD) for media content, wherein the MPD includes data indicative of wall-clock times at which the client device can retrieve data of the media content from a source device, and wherein the data indicates a synchronization method by which the client device is to synchronize the wall-clock times with the clock, synchronize the clock with the wall-clock times using the method indicated by the MPD, and request data of the media content from the source device using the synchronized clock. A server device or source device may form and provide such an MPD to a client device.