Initial Streaming Bit Rate Selection Using Historical Client Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing media streaming systems face challenges in quickly establishing an optimal bit rate due to variations in network environments, leading to inefficiencies and degraded user experience.
Innovation Solution
Systems and methods that utilize historical bit rate data and real-time adjustments based on client information, network conditions, and segment transmit times to optimize the initial bit rate and adjust encoding parameters dynamically.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If the initial bit rate is set to a low default value, then the system can start streaming quickly, but it takes a significant amount of time for the bit rate to reach an optimal value
Solution Approach 1:
The system performs preliminary actions by determining client capabilities and network conditions before streaming begins, then pre-calculates an optimal initial bit rate based on historical data and current measurements. This eliminates the need to start with a low default bit rate and gradually increase it, as the system proactively configures the correct bit rate before content delivery starts.
Solution Approach 2:
The system implements feedback mechanisms by continuously monitoring network conditions, client buffer status, and playback performance during streaming. Based on this real-time feedback, the system dynamically adjusts the bit rate to maintain optimal performance, allowing rapid convergence to the appropriate bit rate while adapting to changing conditions.
2Productivity
If the system uses historical bit rate data to set the initial bit rate, then convergence to optimal bit rate is faster, but the system complexity increases
Solution Approach 1:
The system stores historical bit rate data and client capability information in advance, organized by client identifier and network characteristics. When a client connects, the system performs a preliminary lookup using the client's identifier to retrieve pre-stored optimal bit rate parameters, eliminating the need for complex real-time calculations and reducing system complexity during active streaming.
Solution Approach 2:
The system creates simplified copies of complex network and client state information by storing representative parameters (such as optimal bit rates, client capabilities, and network characteristics) in historical data stores. These copies allow the system to make rapid decisions based on pre-analyzed data without needing to re-evaluate all original complexity during streaming operations.
Data Source
Figure 1
Figure 2~3
Figure 4
AI summary
Systems and methods are described for providing a media stream transmitted from an encoding system to a remotely-located media player that requests segments of the media stream. In accordance with one embodiment, a method of encoding a media stream provided from an encoding system to a remotely-located client includes establishing a data connection with the client and acquiring, from the client, client information including a client identifier, a public internet protocol (IP) address, and a geographical location associated with the client. The method further includes determining, based on the client information, whether historical bit rate data is available in a historical bit rate data store provided by the encoding system. If such historical bit rate data is available, an initial bit rate parameter is set for the media stream and the media stream is encoded at the encoding system according to the initial bit rate parameter and transmitted to the client.