Media Proxy Virtual Playlist Seamless Streaming Switch
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Adaptive bitrate (ABR) streaming systems experience significant delays when switching between sources due to the need for re-initialization of resources and playlists, disrupting the viewing experience with pauses and buffering.
Innovation Solution
The implementation of a virtual master playlist that maps all available streaming media sources, allowing for seamless switching between ABR sources without re-initialization by buffering segments from the next source behind the initial source, and optionally inserting a discontinuity for aesthetic or functional transitions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the system re-initializes resources and playlists when switching ABR sources, then the streaming architecture maintains proper source management and playlist relationships, but substantial delay occurs before playback begins with content from the next ABR source
Solution Approach 1:
The system performs preliminary actions by pre-fetching and buffering segments from the next ABR source before the actual source switch occurs. The media proxy identifies the next source in the master playlist and begins buffering its segments in advance, so that when the switch is triggered, playback can continue without interruption or substantial delay.
Solution Approach 2:
The media proxy acts as an intermediary between the client and the content delivery network. It maintains a virtual master playlist that maps to the actual master playlist, allowing it to manage source transitions independently. The proxy buffers segments from the next source and inserts discontinuities as needed, mediating the transition without requiring the client to re-initialize resources.
2Ease of operation
If the system pauses the stream to access a menu for source selection, then the client can select different content to view, but playback continuity is disrupted
Solution Approach 1:
While the client pauses playback to allow menu access and source selection, the media proxy simultaneously performs preliminary buffering of segments from the selected next ABR source. This parallel processing ensures that when the user confirms their selection, the segments are already buffered and ready for immediate playback, minimizing the disruption to playback continuity.
3Duration of action of stationary object
If the system continues playback during source selection without pausing, then playback continuity is maintained, but the next ABR source cannot be properly initialized and buffered
Solution Approach 1:
The media proxy serves as an intermediary that handles the initialization and buffering of the next ABR source independently of the client's playback state. It maintains the virtual master playlist and can identify and buffer segments from the next source even while the client continues playing the current source, effectively decoupling the initialization process from playback pauses.
Solution Approach 2:
The system maintains continuity of useful action by allowing the media proxy to continuously buffer segments from the next ABR source in the background while the client plays the current source. This parallel operation ensures that both actions—playback and preparation for source switch—occur simultaneously without interruption.
4Reliability
If the system re-initializes playlists and resources for each ABR source switch, then proper source management is ensured, but user engagement decreases due to frequent interruptions
Solution Approach 1:
The media proxy performs preliminary buffering of the next ABR source segments before the client needs to switch sources. By having segments pre-buffered and ready, the system eliminates the need for the client to pause playback and re-initialize resources, thereby maintaining both playlist management integrity and continuous playback for improved user engagement.
Data Source
AI summary
A technique for managing transitions between streaming media sources can include receiving a request from a client to change a streaming media source from an initial streaming media source to a next streaming media source, identifying the next streaming media source in a master playlist of a content delivery network, inserting a discontinuity between last segments of the initial streaming media source and first segments of the next streaming media source, and streaming the first segments of the next streaming media source to the client as a continuous stream from the last segments of the initial streaming media source with the discontinuity between the last segments and the first segments.


