Segmented Parallel Encoding for Adaptive Streaming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Content providers face challenges in efficiently generating and managing multiple versions of media content to support distribution across various devices and network conditions, as existing adaptive bitrate streaming technologies require multiple encodings, leading to increased costs and complexity.
Innovation Solution
A transcoding platform leveraging distributed computing techniques to transcode content in parallel across idle resources in a content delivery network, breaking up files into segments for independent processing, and reassembling the results, allowing for efficient conversion of codecs, container formats, and encoding parameters.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple versions of content are created for different devices and network conditions, then adaptability is improved, but device complexity and cost increase
Solution Approach 1:
The content file is divided into multiple segments that can be independently processed and recombined. This segmentation allows the system to create multiple versions of content by selectively combining segments, rather than creating entirely separate content files for each device type, thereby reducing management complexity while maintaining adaptability.
Solution Approach 2:
A single content source is used to generate multiple output versions through a universal transcoding process. The system employs a multi-purpose content delivery mechanism that can adapt the same content to different devices and network conditions, eliminating the need to maintain separate content versions for each platform.
2Manufacturing precision
If multiple encodings are performed for adaptive bitrate streaming, then content quality is improved, but processing time and cost increase
Solution Approach 1:
Content is pre-segmented into manageable chunks that can be independently encoded and processed. This preliminary segmentation allows parallel processing of multiple encoding operations, reducing total encoding time while maintaining quality across different bitrate versions.
Solution Approach 2:
Instead of creating entirely separate encodings from scratch, the system creates multiple versions by copying and transforming segments from a source file. This approach significantly reduces processing time compared to full re-encoding, while still delivering quality content adapted to different bitrate requirements.
3Productivity
If content is segmented for parallel processing, then productivity is improved, but measurement precision deteriorates
Solution Approach 1:
The system incorporates frame-aware segmentation that monitors and tracks frame boundaries across segmented content. This feedback mechanism ensures that parallel processing of segments maintains proper frame synchronization and temporal relationships, preventing degradation of measurement precision while benefiting from parallel processing productivity gains.
Data Source
AI summary
The subject matter herein generally relates to transcoding content, typically audio/video files though not limited to such, from one version to another in preparation for online streaming or other delivery to end users. Such transcoding may involve converting from one format to another (e.g., changing codecs or container formats), or creating multiple versions of an original source file in different bitrates, frame-sizes, or otherwise, to support distribution to a wide array of devices and to utilize performance-enhancing technologies like adaptive bitrate streaming. A transcoding platform is described herein that, in certain embodiments, leverages distributed computing techniques to transcode content in parallel across a platform of machines that are preferably idle or low-utilization resources of a content delivery network. The transcoding system also utilizes, in certain embodiments, improved techniques for segmenting the original source file so as to enable different segments to be sent to different machines for parallel transcodes.


