Warm Input Buffering for Live Video Transcoding CPU Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current live video transcoding services, such as AWS Elemental MediaLive, face inefficiencies in preparing live inputs for streaming due to the computing-intensive decoding process, which leads to high CPU utilization and increased costs.
Innovation Solution
The implementation of 'warm' inputs, which are actively ingested and demuxed but not actively decoded, allows for reduced CPU usage by delaying decoding until an input switch is necessary, enabling efficient preparation and partial decoding of frames, thereby reducing overall computational requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If inputs are actively decoded in preparation for switching, then content switching capability is improved, but CPU utilization increases significantly
Solution Approach 1:
The patent applies preliminary action by having the demultiplexer prepare and buffer compressed video frames in advance before a switch is needed. The warm standby consumer pre-positions decoded frames in a buffer, so when switching is required, the decoded frames are already ready for immediate output. This eliminates the need for continuous active decoding while maintaining the ability to switch quickly when needed.
Solution Approach 2:
The patent implements dynamics by creating a flexible system where the warm standby consumer can dynamically adjust its behavior. The consumer monitors when frames need to be decoded and can dynamically switch between active decoding mode and warm standby mode. This dynamic adaptation allows the system to optimize CPU utilization based on actual switching needs rather than maintaining constant high CPU usage.
2Reliability
If decoding is performed continuously for input preparation, then content availability is improved, but computational resources are exhausted
Solution Approach 1:
The demultiplexer performs preliminary action by continuously extracting and buffering compressed video frames from the input stream before decoding is actually needed. This pre-positioning of compressed data allows the system to maintain content availability while avoiding continuous computational decoding, as the compressed frames can be quickly decoded only when required for switching.
Solution Approach 2:
The patent applies partial action by having the warm standby consumer decode only the specific number of frames needed for switching rather than continuously decoding all incoming frames. The consumer maintains a buffer of pre-decoded frames, but only actively decodes frames when switching is anticipated or required, thus reducing overall computational resource consumption while ensuring content availability.
3Speed
If a hot standby consumer decodes frames continuously, then input switching speed is improved, but CPU cost increases
Solution Approach 1:
The warm standby consumer performs preliminary decoding of frames and buffers them in advance. When switching is needed, the pre-decoded frames are immediately available from the buffer, achieving fast switching without requiring continuous active decoding. This preliminary preparation maintains switching speed while significantly reducing CPU cost by limiting active decoding to only when necessary.
Solution Approach 2:
The patent uses copying by having the warm standby consumer create copies of decoded frames in a buffer. Instead of continuously decoding new frames for switching, the system copies and stores decoded frames in advance. When switching is required, these copied frames are immediately transferred to the output, achieving fast switching with reduced computational cost.
Data Source
AI summary
Systems and methods, to efficiently prepare for live and stored file content, implement one or more warm inputs, which actively ingest and demux content, but do not actively decode the content until an input switch is commanded. Each warm input can cache a most recent instantaneous decoder refresh and subsequent reference frames (I-frames and P-frames). Upon an input switch being commanded, the subject input commences decoding of such preserved frames. The formerly-warm input then acts as a hot input (decoding every frame) until the input switch completes. The use of warm inputs, which avoid the decoding stage, reduces computational resource use, allows preparation of all inputs by default, and permits metrics, status reports, and thumbnails to be generated regarding non-active inputs.


