Adaptive Video Streaming Latency Control via WebRTC and FEC
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 can hinder real-time viewing experiences of live events like gaming or sports.
Innovation Solution
The implementation of adaptive bitrate streaming with multiple rendition versions, including lower latency versions that exclude instantaneous decoder refresh frames and bidirectional frames, and the use of protocols like WebRTC that do not require packet retransmission, along with edge node FEC coding, to minimize latency while maintaining quality.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If adaptive bitrate streaming with multiple rendition versions is implemented, then video quality is improved, but latency increases
Solution Approach 1:
The video stream is segmented into multiple rendition versions with different quality levels and latency characteristics. Each rendition is independently encoded and transmitted, allowing the client to select the appropriate version based on current network conditions and latency requirements, thus resolving the contradiction between quality and latency.
Solution Approach 2:
The system dynamically switches between different rendition versions based on real-time network conditions and latency requirements. The client can transition between high-quality high-latency renditions and lower-quality low-latency renditions, making the system adaptable to changing conditions and resolving the static contradiction between quality and latency.
2Adaptability or versatility
If broadcast transmission to multiple viewers is implemented, then audience reach is improved, but latency reduction becomes more difficult
Solution Approach 1:
The broadcast stream is segmented into multiple parallel rendition versions, each optimized for different latency requirements. This allows the system to serve multiple viewers simultaneously with appropriate latency characteristics, resolving the contradiction between broad audience reach and latency reduction.
Solution Approach 2:
The system changes encoding parameters to create renditions with different latency profiles. By adjusting encoding settings such as keyframe intervals and buffer sizes, the system generates multiple versions that can be distributed to different viewers based on their specific latency requirements, thus resolving the contradiction.
3Loss of time
If lower latency versions excluding certain frames are implemented, then latency is reduced, but video quality may deteriorate
Solution Approach 1:
Certain frame types (instantaneous decoder refresh frames and bidirectional frames) are extracted and removed from the lower latency rendition. This extraction reduces processing complexity and latency while maintaining sufficient video quality for real-time viewing, thus resolving the contradiction between latency reduction and quality preservation.
Solution Approach 2:
Different quality levels are applied to different rendition versions based on their intended use. Lower latency renditions use simplified encoding without certain frame types, while higher quality renditions include all frame types. This local differentiation resolves the contradiction by providing appropriate quality for each latency requirement.
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.


