On-Edge Video Transcoding With Keyframe Segment Caching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing audio and video transcoding methods are inefficient in handling real-time streaming and dynamic rendition changes, leading to high computational load and storage requirements.
Innovation Solution
A method for just-in-time transcoding that segments audio-video files into mezzanine segments based on keyframes, transcodes on-demand, and stores these segments in a cache, allowing for real-time streaming and dynamic rendition switching without pre-transcoding all renditions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If pre-transcoding of all renditions is performed, then all rendition versions are available for immediate streaming, but computational load and storage requirements increase significantly
Solution Approach 1:
The video content is divided into mezzanine segments based on keyframes, allowing selective transcoding of individual segments rather than entire renditions. This segmentation enables the system to store only essential mezzanine segments while generating specific renditions on-demand, reducing storage requirements while maintaining rendition availability.
Solution Approach 2:
The system performs preliminary segmentation of video into mezzanine segments based on keyframes during ingestion. This preliminary action prepares the content for efficient just-in-time transcoding without requiring full pre-transcoding of all renditions, balancing storage efficiency with streaming readiness.
2Reliability
If pre-transcoding of all renditions is performed, then all rendition versions are available for immediate streaming, but computational load increases significantly
Solution Approach 1:
By segmenting video into mezzanine segments based on keyframes, the system enables selective transcoding of only the necessary segments for each rendition request. This avoids the computational expense of transcoding entire renditions in advance, reducing overall computational load while ensuring rendition availability when needed.
Solution Approach 2:
The system implements just-in-time transcoding where renditions are generated automatically on-demand when requested, rather than being pre-generated. This self-service approach reduces initial computational load by performing transcoding work only when necessary, while maintaining the ability to provide all rendition versions for streaming.
3Quantity of substance
If just-in-time transcoding is implemented, then computational load and storage requirements are reduced, but real-time processing capability is challenged
Solution Approach 1:
Segmenting video into smaller mezzanine segments based on keyframes enables faster individual segment processing compared to transcoding large continuous renditions. This segmentation allows the system to process only the necessary segments in real-time, improving processing speed while reducing storage requirements.
Solution Approach 2:
The system performs partial transcoding by processing only the specific mezzanine segments needed for the requested rendition at the time of request, rather than transcoding complete renditions. This partial action approach reduces both storage requirements and processing time by focusing computational resources on only the necessary portions of the video content.
4Productivity
If mezzanine segments are segmented based on keyframes, then efficient on-demand transcoding is enabled, but segment complexity increases
Solution Approach 1:
The system segments video into mezzanine segments based on keyframe boundaries, which are naturally occurring structural points in the video. This segmentation approach simplifies segment management by aligning with existing video structure, while enabling efficient on-demand transcoding of individual segments without requiring complex segment organization.
Data Source
AI summary
A method includes: accessing a video in a passthrough rendition encoded according to a passthrough bitrate and a passthrough resolution; and segmenting the video. The method further includes transmitting a first passthrough segment to a first device in response to receiving a first request for a first playback segment of the video in the passthrough rendition from the first device, the first playback segment corresponding to the first passthrough segment. The method also includes, in response to receiving a second request for the first playback segment of the video in a first rendition from a second device, the first rendition defining a first bitrate below the passthrough bitrate and a first resolution below the passthrough resolution: transcoding the first passthrough segment into the first rendition segment in the first rendition according to the first bitrate and the first resolution; and transmitting the first rendition segment to the second device.


