Server-Side Adaptive Bit Rate Control for DLNA Streaming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current streaming technologies, particularly those using HTTP and TCP, are inefficient in adapting to varying network bandwidths, leading to delayed and choppy playback experiences for media streams, especially in bandwidth-constrained environments, as they lack server-side adaptive bit rate control, which is crucial for optimizing media delivery to clients with diverse network conditions.
Innovation Solution
A method and apparatus for server-side adaptive bit rate control that involves transcoding media streams based on real-time bandwidth estimates, using algorithms to adjust bit rates and resolutions dynamically, allowing for just-in-time adaptation to available network bandwidth, thereby ensuring smooth playback on DLNA and HLS clients.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If progressive downloading is used to deliver media files, then the entire file can be downloaded and stored for later use, but playback is delayed and choppy due to slow Internet connections and lack of adaptive bit rate control
Solution Approach 1:
The system dynamically adjusts the bit rate of media streams based on real-time network conditions. The server monitors available bandwidth and adapts the encoding parameters on-the-fly, transitioning from static progressive downloading to dynamic adaptive streaming that responds to changing network states.
Solution Approach 2:
The invention changes the parameter of bit rate adaptively during transmission. By modifying the bit rate parameter based on measured network bandwidth, the system optimizes playback performance without requiring complete file downloads, enabling smoother playback with reduced delay.
2Reliability
If TCP protocol is used for data transmission, then guaranteed delivery of data is achieved, but transmission speed is reduced due to resend requests in networks with high delivery errors
Solution Approach 1:
The system implements feedback mechanisms where the server monitors transmission performance and network conditions, then adjusts transmission parameters accordingly. This feedback loop allows the system to maintain reliable delivery while optimizing speed by adapting to actual network conditions rather than using fixed TCP retry protocols.
3Reliability
If traditional streaming techniques are used with a single provider, then continuous media delivery is achieved, but high bandwidth and CPU power are required that increase with the number of end-users
Solution Approach 1:
The invention segments the media delivery process into adaptive bit rate control at the server端 and flexible playback at the client端. By segmenting the stream into adaptable units with varying bit rates, the system can serve multiple users with diverse network conditions using the same infrastructure, reducing the linear scaling of bandwidth and CPU requirements.
Solution Approach 2:
The system changes transmission parameters including bit rate and encoding quality based on individual user network conditions. This parameter adaptation allows a single provider to efficiently serve multiple users with varying bandwidth requirements, reducing the total bandwidth and CPU power needed compared to uniform high-quality streaming to all users.
4Adaptability or versatility
If client-side bit rate decision-making is implemented, then adaptive playback can be achieved, but complexity and cost of client devices increase
Solution Approach 1:
The invention inverts the traditional approach by moving the adaptive bit rate control logic from the client side to the server side. Instead of requiring complex client devices to analyze network conditions and adjust bit rates, the server performs the adaptive control and sends appropriately encoded streams, simplifying client device requirements while maintaining adaptability.
Data Source
AI summary
Methods and systems are described for adaptively transmitting streaming data to a client. In one embodiment, the method comprises receiving, in a server, a request for a data asset from the client, transcoding at least a segment of the data asset according to initial transcoding parameters, transmitting a first fragment of the transcoded segment of the data asset from the server to the client over a communication channel, generating an estimate of a bandwidth of the communications channel at least in part from information acknowledging reception of at least the first fragment of the transcoded segment of the data asset by the client, generating adaptive transcoding parameters at least in part from an estimate of a bandwidth of the communications channel, the estimate generated at the server, transcoding a further segment of the data asset according to the adaptive transcoding parameters, and transmitting the further segment of the data asset.


