Media Player Fast Stream Switching via Buffer Offset
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Media players often experience non-smooth viewing experiences due to frame drops and buffer issues when switching between media streams, particularly when CPU resources are low or when switching from windowed to full-screen mode, as they need to play out the entire buffer before switching to a higher quality stream.
Innovation Solution
Implementing a method that allows for fast switching between media streams by specifying a switching time offset within the client's buffer, enabling the media player to switch without playing the entire buffer, and allowing for adjustments based on changes in playback bandwidth and stream quality.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a media player uses a large video buffer to prevent buffer under-runs, then viewing smoothness is improved, but switching time between media streams increases
Solution Approach 1:
The system performs preliminary actions by pre-buffering content from the second media stream before a switch is requested. When a switch request is received, the player can immediately switch to the pre-buffered content without waiting to play out the entire first buffer, thereby reducing switching time while maintaining viewing smoothness.
Solution Approach 2:
The system dynamically adjusts buffer management based on the switching state. It maintains a first buffer for current playback and a second buffer for upcoming content, allowing flexible switching between them. This dynamic buffer management enables smooth transitions while preventing buffer under-runs during and after switches.
2Manufacturing precision
If a media player requests higher quality video at full-screen mode, then video quality is improved, but switching delay increases due to buffer playback requirements
Solution Approach 1:
Before switching to full-screen mode, the system pre-requests and buffers the higher quality video content in advance. This preliminary action ensures that when the user requests full-screen mode, the high-quality content is already available in the buffer, allowing immediate switching without the delay of playing out the entire low-quality buffer first.
Solution Approach 2:
The system maintains continuous buffering of the higher quality stream even while playing the lower quality stream in windowed mode. This ensures that the useful action of preparing high-quality content continues uninterrupted, enabling seamless transition to full-screen mode when requested.
3Speed
If a media player uses a short video buffer to enable fast switching, then switching speed is improved, but buffer under-runs occur causing viewing interruptions
Solution Approach 1:
The buffer system is segmented into multiple buffers (first buffer for current stream, second buffer for switching content). This segmentation allows the player to maintain short individual buffer durations for fast switching while having multiple buffers available to prevent under-runs, thereby maintaining both switching speed and viewing smoothness.
Solution Approach 2:
The system performs preliminary buffering of alternative media streams in advance. By having pre-buffered content ready in a second buffer before a switch is needed, the player can quickly switch without risking buffer under-runs, thus maintaining both fast switching capability and viewing reliability.
Data Source
AI summary
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for fast switching of media streams, are described. The methods and systems described in this specification enable switching media streams as quickly as possible without playback interruption by not having to playback the content of the full buffer prior to the switch to the new stream. The fast switching disclosed in this specification is based on configuring a media player operated at a client computer to specify a switching time offset that corresponds to buffered content. In addition, the disclosed methods and systems enable a media streaming server computer, that is streaming a first media stream to the client computer, to select a key frame of a second media stream that is at or near a switching time offset specified by the client computer, and to immediately begin transmission of the second media stream.


