Just-in-time Audio Video Transcoding via Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current audio and video transcoding methods require significant upfront computational resources and storage for transcoding multiple renditions of audio-video files before streaming, leading to increased time-to-publication and inefficient resource utilization.
Innovation Solution
The method involves segmenting audio-video files into mezzanine segments based on keyframes, allowing for just-in-time transcoding and streaming of rendition segments on demand, reducing computational load and storage needs by caching and transcoding only requested segments in real-time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If audio-video files are transcoded into multiple renditions before streaming, then rendering quality and adaptability are improved, but computational resources and storage requirements increase significantly
Solution Approach 1:
The audio-video file is divided into multiple segments, where each segment can be independently transcoded into different renditions. Only the segments that are requested by users are transcoded and stored, rather than pre-transcoding the entire file into all possible renditions. This segmentation approach reduces storage requirements while maintaining rendition adaptability.
Solution Approach 2:
The system performs preliminary segmentation of the audio-video file into manageable segments before streaming. This preliminary action enables on-demand transcoding of individual segments into multiple renditions only when needed, rather than performing all transcoding operations in advance.
2Reliability
If multiple renditions are pre-transcoded and stored, then streaming quality is improved, but time-to-publication increases
Solution Approach 1:
By segmenting the audio-video file and transcoding only the requested segments into multiple renditions on-demand, the system eliminates the need to wait for complete pre-transcoding of the entire file. This allows faster time-to-publication while maintaining streaming quality through selective transcoding of relevant segments.
Solution Approach 2:
The system performs partial transcoding action by only transcoding the specific segments that are requested by users, rather than transcoding the entire file into all possible renditions in advance. This partial action approach reduces time-to-publication while sufficient for maintaining streaming quality.
3Adaptability or versatility
If upfront transcoding of multiple renditions is performed, then rendering versatility is improved, but computational load increases
Solution Approach 1:
The audio-video file is segmented into multiple smaller segments, enabling the system to transcode only the specific segments that are requested. This segmentation reduces computational load by avoiding redundant transcoding of segments that will not be used, while still providing rendition versatility for requested content.
Solution Approach 2:
The system implements on-demand transcoding where computational resources are allocated based on actual user requests. When a segment is requested, the system automatically transcodes it into the appropriate renditions without requiring upfront computational investment for all possible renditions, thus reducing overall computational load while maintaining versatility.
4Productivity
If on-demand transcoding is implemented, then resource utilization is improved, but processing time for individual segments increases
Solution Approach 1:
By dividing the audio-video file into smaller segments, the system reduces the transcoding time required for each individual segment. Although transcoding is performed on-demand, the shorter duration of each segment means that the actual transcoding operation completes faster, improving resource utilization without significantly increasing user-perceived processing time.
Data Source
AI summary
A method for streaming an audio-video file can include: receiving a request for a playback segment of the audio-video file in a rendition from a computational device; in response to identifying absence of the playback segment in the rendition from a rendition cache and identifying absence of an assignment to transcode the playback segment in the rendition: assigning a worker to transcode the playback segment in the rendition. The method can also include, at the worker: identifying a subset of mezzanine segments in the set of mezzanine segments coinciding with a playback interval in the audio-video file; and for each mezzanine segment in the subset of mezzanine segments: concurrently transcoding the mezzanine segment into a rendition segment in the rendition and transmitting the rendition segment coinciding with the playback interval to the computational device via a peer-to-peer stream; and storing the rendition segment in the rendition cache.


