Adaptive Bitrate Gateway Minimizing Transcoding via Pre-Encoded Stream Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Adaptive bit rate streaming systems face challenges in efficiently and reliably transmitting content to client devices with varying bandwidth and CPU capacities, often requiring significant transcoding and buffering, which can lead to slow start times and unreliable connections.
Innovation Solution
A gateway device is introduced between the content delivery network and client devices, which minimizes transcoding by bypassing streams with matching bit rates and selects streams closest to requested bit rates for quick transcoding, while distributing content over multiple channels to ensure redundancy and maximize channel capacity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If adaptive bit rate streaming is used to adjust quality according to bandwidth and CPU capacity, then streaming can be used for both high-end and low-end connections, but significant transcoding resources are required
Solution Approach 1:
The system pre-encodes the source content into multiple bit rate versions before distribution. This preliminary encoding action eliminates the need for real-time transcoding at the gateway device, as all required bit rate variants are already prepared and stored for direct streaming to client devices based on their capabilities.
2Speed
If real-time detection and adjustment of bit rate is implemented, then fast start times and minimal buffering are achieved, but transcoding complexity increases
Solution Approach 1:
Multiple bit rate encodings are prepared in advance during content creation, eliminating the need for complex real-time transcoding operations. The gateway device simply selects and streams the appropriate pre-encoded version based on detected client capabilities and network conditions.
Solution Approach 2:
The system creates multiple copies of the content at different bit rates during the pre-encoding phase. These copies are then distributed and stored for direct streaming, avoiding the need to create copies through complex real-time transcoding operations at the gateway device.
3Reliability
If content is transmitted through a gateway device for adaptive streaming, then reliable content delivery is achieved, but transmission delays increase
Solution Approach 1:
The system extracts and removes the time-consuming transcoding function from the gateway device transmission path. By pre-encoding content into multiple bit rates and storing them ready for direct streaming, the gateway device only needs to perform simple selection and forwarding operations, dramatically reducing transmission delays while maintaining reliable content delivery.
4Adaptability or versatility
If multiple bit rate streams are maintained for adaptive streaming, then quality adjustment is enabled, but buffering requirements increase
Solution Approach 1:
Multiple bit rate streams are prepared and made available in advance through pre-encoding. This preliminary preparation ensures that when a client device requests content, the appropriate quality level can be immediately selected and streamed without requiring the device to buffer multiple quality versions locally for switching.
Data Source
AI summary
Systems and methods for transmitting content are provided. In some aspects, a method includes receiving an indication of a plurality of input streams of content. Each input stream is associated with an input bit rate. The method includes determining a plurality of output bit rates at which to transmit the content to one or more client devices, comparing the plurality of input bit rates to the plurality of output bit rates, and generating, by a server, a plurality of output streams of the content based on the comparison. Each generated output stream is associated with a corresponding output bit rate and includes a transcoded input stream or a non-transcoded input stream. The plurality of output streams is generated such that a number of output streams comprising non-transcoded input streams is maximized. The method also includes transmitting the generated output streams to the one or more client devices.


