Live Transcoding Segmentation for Adaptive Streaming Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Live streaming systems face disruptions due to component failures and intermittent corruptions in redundant streams, making seamless failovers and adaptive bitrate streaming challenging, especially in large-scale distributed processing and delivery systems.
Innovation Solution
The system processes adaptive bitrate streaming by generating equivalent segments of audio and video data through transcoding and segmentation, allowing for seamless joining of streams at arbitrary points and adaptive bitrate adjustments, using redundant transcoders and parallel ingestion pipelines to handle failures and different transcoding qualities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If separate hardware and software encoders are used for redundant streaming, then reliability is improved, but device complexity increases
Solution Approach 1:
The system segments the streaming workflow into distinct functional modules: separation component that divides input streams into audio/video streams with different bitrates, transcoder component that handles transcoding, and conjoining component that merges streams. This modular segmentation allows redundancy to be implemented at the module level rather than requiring completely separate encoding pathways, reducing overall system complexity while maintaining reliability.
Solution Approach 2:
The patent introduces intermediary components between the input streams and final output: a separation component acts as an intermediary to split streams into different bitrates, and a conjoining component serves as an intermediary to merge transcoded streams. These intermediaries enable failover and adaptive bitrate switching without requiring separate end-to-end encoding pathways, thus improving reliability while controlling complexity.
2Adaptability or versatility
If multiple transcode qualities are processed in parallel, then adaptability is improved, but processing time increases
Solution Approach 1:
The system performs preliminary segmentation of input streams into audio streams with different bitrates and video streams with different bitrates before transcoding. By pre-separating streams into multiple bitrate versions, the system prepares multiple transcode qualities in advance, enabling faster adaptation when bitrate changes are needed without performing full transcoding operations in real-time.
Solution Approach 2:
The conjoining component segments the transcoded streams into equivalent segments based on identified segment boundaries, allowing parallel processing of different bitrates. This segmentation enables the system to process multiple transcode qualities simultaneously and recombine them efficiently, reducing overall processing time while maintaining adaptability.
3Ease of operation
If streams are segmented and joined at arbitrary points, then ease of operation is improved, but manufacturing precision decreases
Solution Approach 1:
The conjoining component uses feedback mechanisms to identify segment boundaries in the transcoded streams and ensures that segments are joined at coherent points. By monitoring stream characteristics and identifying appropriate segment boundaries, the system maintains segment coherence while allowing flexible joining at arbitrary points, thus balancing ease of operation with manufacturing precision.
Data Source
AI summary
A method includes separating, using a separation component, a plurality of input streams into a plurality of audio streams having different bitrates and a plurality of video streams having different bitrates; transcoding, using an audio transcoder, the plurality of audio streams into a plurality of transcoded audio streams having different transcode qualities; transcoding, using a video transcoder, the plurality of video streams into a plurality of transcoded video streams having different transcode qualities; segmenting, using a segmentation component, the plurality of audio streams into a plurality of equivalent audio segments based on identified segment boundaries associated with the plurality transcoded audio streams and the plurality of video streams into a plurality of equivalent video segments based on identified segment boundaries associated with the plurality of transcoded video streams; and joining, using a conjoining component, the plurality of equivalent audio segments and the plurality of video segments into a single stream.


