Dynamic Seek Processing for Video Streaming Re-buffering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video delivery systems experience re-buffering issues when network conditions change or the requested bitrate is too high, leading to interruptions in media playback due to insufficient buffer data.
Innovation Solution
A dynamic seek processing system that analyzes playback factors such as the position within a media segment, current bandwidth, and next segment size to determine if playback should be delayed, allowing additional time for the next segment to download and reducing the likelihood of re-buffering.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If playback starts immediately after segment download completes, then playback responsiveness is improved, but re-buffering occurs when network conditions are poor or bitrate is too high
Solution Approach 1:
The system performs preliminary actions by downloading the next segment before the current segment playback completes. The buffer is pre-filled with subsequent segment data, so when the current segment ends, playback can continue without interruption. This anticipatory buffering resolves the contradiction by preparing data in advance rather than waiting until it is absolutely needed.
Solution Approach 2:
The system creates a cushion of buffered data before playback needs it. By maintaining a buffer that extends beyond the current segment boundary, the system ensures that even if network conditions deteriorate or bitrate estimation is inaccurate, there is sufficient data already in the buffer to prevent re-buffering events. This cushioning effect provides reliability while maintaining responsive playback.
2Manufacturing precision
If higher bitrate is requested to improve quality, then playback quality is improved, but buffer depletion occurs more quickly leading to re-buffering
Solution Approach 1:
The system uses feedback mechanisms to monitor actual network performance and buffer status, then adjusts bitrate selection accordingly. By continuously measuring download speeds and buffer consumption rates, the system can determine whether the current bitrate is sustainable or if a lower bitrate should be selected to prevent re-buffering. This closed-loop control resolves the contradiction between quality and reliability.
Solution Approach 2:
The system dynamically adjusts bitrate selection based on real-time conditions rather than using a fixed bitrate. The bitrate requested for subsequent segments is adapted according to observed network performance and buffer status, allowing the system to optimize both quality and reliability by matching bitrate to actual delivery capacity.
3Device complexity
If segment size is increased to reduce number of requests, then network overhead is reduced, but download time per segment increases risking buffer depletion
Solution Approach 1:
The media content is divided into smaller segments that can be downloaded and buffered in parallel. By segmenting the content into manageable units, the system can initiate multiple downloads simultaneously, ensuring that buffer replenishment occurs efficiently without excessive request overhead. The segment size is optimized to balance download efficiency with buffer management requirements.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Particular embodiments provide dynamic seek processing that minimizes re-buffering after a seek request is received. When a seek occurs to a seeking position, a media player downloads a segment N of the media program that includes the seeking position. To address possible re-buffering, the media player employs a seeking process that may analyze playback factors to determine when to start playback after the segment N that contains the seeking position has been downloaded. Factors include the position within the segment N, the current bandwidth, the next segment's size, and the current bitrate being requested. Depending on these factors, the media player may decide to delay playback even though the segment N has already been downloaded. This allows the next segment N+1 more time to download and then playback can begin with less chance of re-buffering. Particular embodiments also provide a process to calculate the number of seconds to delay playback.