Streaming Server On-Demand Encoding for Adaptive Bitrate Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional HLS-based streaming systems face challenges in managing adaptive bitrates efficiently, leading to delays and increased storage requirements, as clients frequently switch bitrates and all bitrates must be pre-encoded and stored, even if not requested.
Innovation Solution
A streaming video server that uses on-demand encoding and transcoding, with a virtual file system generating segments and encryption keys only as needed, and adjusts bitrates server-side based on network conditions, eliminating client-side bitrate control and reducing storage needs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If all bitrates are pre-encoded and stored for adaptive bitrate streaming, then clients can switch bitrates freely, but storage requirements increase significantly
Solution Approach 1:
The system performs preliminary encoding of the video source at multiple bitrates, but only stores the encoded segments when they are actually requested by clients. The encoder is pre-configured with multiple bitrate profiles, allowing it to encode on-demand without pre-storing all possible bitrate variations.
Solution Approach 2:
The system uses on-demand encoding where the video source is encoded and segmented only when a client requests a specific bitrate. The encoder serves itself by maintaining a library of encoding profiles and automatically encoding the source video when needed, rather than pre-encoding and storing all bitrates.
2Ease of operation
If clients control their own bitrate selection, then client autonomy is improved, but network efficiency decreases due to frequent switching and suboptimal selections
Solution Approach 1:
The system implements server-side network condition monitoring that continuously measures bandwidth availability and client device capabilities. This feedback information is used by the server to make intelligent bitrate selection decisions, overriding client preferences when necessary to optimize network efficiency and streaming quality.
Solution Approach 2:
Instead of allowing clients to control bitrate selection, the system inverts the control to the server side. The server monitors network conditions and client capabilities, then automatically selects and delivers the optimal bitrate without requiring client-side decision-making or frequent client requests for bitrate changes.
3Speed
If video segments are pre-encoded and stored at multiple bitrates, then streaming speed is improved, but storage requirements and content security worsen
Solution Approach 1:
The system prepares the video source in advance by configuring multiple encoding profiles with different bitrates, but only performs the actual encoding and creates segments when a client requests streaming. This preliminary preparation of encoding parameters enables fast on-demand encoding without requiring pre-stored encoded segments.
Solution Approach 2:
The encoder serves itself by maintaining encoding profiles and automatically encoding video segments on-demand based on client requests and network conditions. This self-service encoding eliminates the need for pre-storing multiple bitrate versions while maintaining the ability to provide fast streaming by encoding quickly when needed.
4Adaptability or versatility
If all bitrate versions are stored on the server, then adaptive streaming is enabled, but content security is compromised
Solution Approach 1:
The system pre-configures multiple encoding profiles with different bitrate parameters, but only executes the encoding process when a client requests streaming. This preliminary setup of encoding parameters enables adaptive bitrate streaming functionality without creating and storing actual encoded content, thereby maintaining content security.
Solution Approach 2:
The encoder maintains a library of encoding profiles and automatically encodes video segments on-demand based on client requests. This self-service approach enables adaptive bitrate streaming by generating segments only when needed, eliminating the security risk of storing multiple encoded versions while preserving the adaptability to deliver different bitrates.
Data Source
AI summary
A client device includes a video player that generates a program request for a selected video program. A client-side proxy passes the program request from the video player to the streaming video server for the video program. The client-side proxy identifies that the selected video program has been previously bookmarked by the video player at a bookmark position, intercepts a request from the video player to the streaming video server for at least one first segment of the selected video program, and in response, sending at least one corresponding fixed segment to the video player. The client-side proxy passes a request from the video player to the streaming video server for a plurality of second segments of the selected video program, wherein the plurality of second segments commence at a position corresponding to the bookmark position.


