Adaptive Bitrate Streaming Startup Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current HTTP Live Streaming (HLS) and similar protocols experience delays in starting playback, often playing at a lower quality than the available bandwidth allows, leading to user dissatisfaction due to slow streaming experiences.
Innovation Solution
The technology tracks the bitrate history of playback devices to determine a more optimal starting bitrate, enabling immediate playback at a quality suitable for the device's current bandwidth, using methods such as averaging recent bitrates and applying caps for users transitioning between environments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the lowest bitrate is used as the default starting bitrate, then playback compatibility is improved, but startup delay increases and initial quality is reduced
Solution Approach 1:
The system performs preliminary actions by tracking bitrate history before playback starts. When a user requests playback, the system retrieves historical bitrate data from previous sessions and uses it to determine an optimized starting bitrate, rather than defaulting to the lowest bitrate. This preliminary data collection and analysis enables faster, more accurate bitrate selection at startup.
Solution Approach 2:
The system implements feedback by continuously monitoring and tracking bitrate performance across multiple playback sessions. This historical bitrate data serves as feedback that informs future bitrate selections. The system uses this accumulated feedback to intelligently determine the optimal starting bitrate for each new playback request, improving both speed and quality over time.
2Stability of the object's composition
If the lowest bitrate is used as the default starting bitrate, then initial playback stability is improved, but initial quality is reduced
Solution Approach 1:
The system performs preliminary actions by collecting and analyzing bitrate history data before the playback request is made. This pre-computed information allows the system to select a higher, more appropriate starting bitrate that matches the user's actual network conditions and device capabilities, rather than always defaulting to the lowest bitrate for safety.
Solution Approach 2:
The system dynamically changes the starting bitrate parameter based on historical performance data. Instead of using a fixed lowest bitrate, the system adjusts the starting bitrate parameter according to tracked history, selecting from multiple available bitrates to optimize both quality and stability for each specific user context.
3Productivity
If bitrate history tracking is implemented, then startup performance is improved, but system complexity increases
Solution Approach 1:
The system implements self-service by automatically tracking and storing its own bitrate history without requiring external intervention or complex external systems. The playback device maintains its own bitrate history locally, and the server uses this self-collected data to make automated bitrate decisions, reducing the need for complex external infrastructure.
Data Source
AI summary
Streaming media at an adaptive bitrate streaming media player. Tracking a bitrate history of the player. Determining a startup bitrate from the bitrate history. Streaming at the determined bitrate. Tracking a bitrate history of the player can include storing tracked bitrates in a cookie accessible by the player; and determining a startup bitrate can include determining a startup bitrate from the cookie. Determining a startup bitrate can include determining an average tracked bitrate over the last N tracked bitrates. The average tracked bitrate can be weighted toward more recent tracked bitrates. Determining a startup bitrate can include determining a maximum startup bitrate. The bitrate history can include the maximum bitrate of the player over the last X sessions; and the maximum startup bitrate can be the lowest maximum bitrate over the last X sessions. The maximum startup bitrate can be the mode among maximum bitrates over the last X sessions.


