Unified MSE Buffer for Seamless Preroll to Live Transition
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing media players face challenges in seamlessly transitioning and managing multiple media content streams, such as preroll and live content, using dynamic adaptive streaming over HTTP, due to limitations in buffering and timeline management.
Innovation Solution
The implementation of a single media source buffer using W3C Media Source Extensions (MSE) that configures and manages a unified timeline for both preroll and live content, determining timestamp offsets and buffer depths to enable smooth transitions and playback, even when content has different codecs or profiles.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If separate buffers are used for preroll and live content, then each content type can be managed independently, but the system complexity increases and transitions between contents become less seamless
Solution Approach 1:
The patent combines multiple content buffers (preroll and live) into a single unified MSE source buffer. This unification allows the player to manage all content segments in one continuous buffer space, enabling seamless transitions by simply adjusting the playback position within the same buffer rather than switching between separate buffer systems.
Solution Approach 2:
The single MSE source buffer serves multiple functions: it stores preroll content, live content, and intermediate segments. The buffer dynamically adapts its usage based on the current playback state, functioning as both a preroll buffer and a live content buffer without requiring separate dedicated buffers for each content type.
2Device complexity
If a single unified buffer is used for both preroll and live content, then transitions become smoother and system complexity is reduced, but managing different timeline offsets and buffer depths becomes more challenging
Solution Approach 1:
The patent pre-calculates and sets the timestamp offset for preroll content relative to the live content timeline before playback begins. By establishing the correct temporal relationship in advance, the system avoids complex real-time calculations during transitions, making timeline management more predictable and easier to handle.
Solution Approach 2:
The system dynamically adjusts the timestamp offset parameter and buffer depth based on the current content being played. When transitioning from preroll to live content, the offset parameters are modified to reflect the new content's temporal reference point, allowing the single buffer to correctly represent different content timelines without requiring separate buffer structures.
3Productivity
If the buffer is optimized for preroll content duration, then preroll playback is efficient, but the buffer may be insufficient for live content which requires longer time shift buffer depth
Solution Approach 1:
The buffer depth and timestamp offset are made dynamic rather than fixed. The system adjusts the buffer's temporal parameters based on the current content type being played. When playing preroll content, the buffer operates with settings optimized for shorter durations, while during live content playback, the buffer automatically extends its effective depth to accommodate the longer time shift requirements.
Solution Approach 2:
The patent changes the buffer's operational parameters (timestamp offset, buffer depth) depending on the content type. This parameter adaptation allows the same physical buffer to efficiently handle both preroll content with shorter duration requirements and live content requiring deeper time shift buffers, achieving both optimization and versatility.
Data Source
AI summary
Aspects of the disclosure provide methods and apparatuses for playing media using a DASH player. In some examples, an apparatus for playing media includes processing circuitry. The processing circuitry configures a media source extension (MSE) source buffer based on a first media content and a second media content that are of independent timelines. Then, the processing circuitry plays based on segments of the first media content that are appended in the MSE source buffer, and then transitions after a last segment of the first media content, to a first segment of the second media content that are appended in the MSE source buffer.


