Server-Based Encoded Version Selection for Low Latency Streaming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In video streaming, particularly in broadcast scenarios, reducing latency is challenging due to the need to transmit video content to multiple viewers simultaneously, which often overwhelms provider resources and increases latency compared to point-to-point transmissions.
Innovation Solution
The solution involves encoding video content into multiple rendition versions with varying latencies and forward error correction (FEC) levels, using protocols like UDP and WebRTC that do not require packet retransmission, and employing edge nodes for dynamic rendition and FEC selection based on network conditions, allowing for lower latency streaming without compromising quality.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If video content is transmitted to multiple viewers simultaneously in broadcast scenarios, then the ability to serve multiple viewers is improved, but latency increases compared to point-to-point transmissions
Solution Approach 1:
The video stream is segmented into multiple encoded versions with different latency characteristics. The system divides the single broadcast stream into parallel tracks: low-latency tracks for real-time interaction and high-latency tracks for quality assurance, allowing viewers to receive appropriate segments based on their needs.
Solution Approach 2:
The system dynamically selects and switches between different encoded versions based on real-time network conditions and viewer requirements. Edge nodes continuously monitor network state and adaptively switch viewers between low-latency and high-latency streams, making the broadcast system flexible and responsive to changing conditions.
2Loss of time
If provider resources are focused on a single viewer in point-to-point transmissions, then latency is reduced, but the ability to serve multiple viewers simultaneously is limited
Solution Approach 1:
The video content is segmented into multiple encoded versions with different latency optimizations. Low-latency versions use aggressive compression and fewer retransmission protocols, while high-latency versions use more robust error correction. This segmentation allows the system to provide point-to-point optimized streams to multiple viewers simultaneously without resource conflicts.
Solution Approach 2:
Different portions of the broadcast system are optimized for different quality requirements. Edge nodes closer to viewers with low-latency needs provide optimized low-latency streams, while other nodes serve viewers who prioritize quality. This local optimization allows simultaneous service to multiple viewers with different requirements.
3Adaptability or versatility
If multiple encoded versions with varying latencies are transmitted, then latency flexibility is improved, but device complexity increases
Solution Approach 1:
Edge nodes serve as intermediaries between the central encoding system and end viewers. The central system generates multiple encoded versions, and edge nodes selectively distribute appropriate versions to viewers based on network conditions. This intermediary architecture distributes the complexity burden and allows efficient management of multiple encoded versions without overwhelming any single component.
4Reliability
If dynamic rendition and FEC selection is implemented based on network conditions, then streaming quality is improved, but system complexity increases
Solution Approach 1:
The system implements feedback loops where edge nodes continuously monitor network conditions (bandwidth, packet loss, latency) and use this information to dynamically select appropriate renditions and FEC levels. This feedback mechanism automates the quality optimization process, improving streaming reliability while managing complexity through algorithmic decision-making rather than manual configuration.
Data Source
AI summary
Techniques for low latency streaming, for example in a broadcasting environment, are described herein. In some examples, one or more individual renditions may be encoded into multiple rendition versions associated with different respective latencies. Also, in some examples, one or more individual renditions may be encoded into multiple rendition versions having different respective amounts of forward error correction (FEC), for example by an edge node of a video streaming service. Also, in some examples, video may be broadcast using a protocol that does not require retransmission of lost packets, such as Web Real-Time Communication (WebRTC), which is commonly used for point-to-point transmissions. Also, in some examples, one or more servers may receive quality of service feedback information from each player to which video content is transmitted. The one or more servers may use this feedback information to select and switch between appropriate renditions and rendition versions for each player.


