Enhanced Manifest Files for Adaptive Media Streaming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing adaptive streaming systems face inefficiencies in manifest file management, leading to increased latency and storage issues due to large manifest file sizes and inefficient initialization processes, particularly when handling popular media files and varying client device capabilities.
Innovation Solution
The system generates enhanced manifest files that customize media representations based on client device bandwidth, CPU processing power, and geolocation, using a decision engine with machine learning to select the optimal quality stream, reducing the need for unnecessary pixel transmission and improving streaming efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a manifest file entry is created for each segment of a media file, then the client device can dynamically switch between representations, but the manifest file size increases complicating file administration and decreasing storage efficiency
Solution Approach 1:
The patent combines multiple segment URLs into a single manifest file entry using byte range specifications. Instead of creating separate entries for each segment, the manifest file contains consolidated entries that reference ranges of bytes within the media file, reducing the number of entries and overall file size while maintaining the ability to access individual segments.
Solution Approach 2:
The manifest file structure is designed to serve multiple functions: it provides segment location information, defines byte ranges for efficient retrieval, and enables dynamic representation switching. This multi-functional approach reduces the need for separate detailed entries for each segment while maintaining adaptability.
2Adaptability or versatility
If a manifest file entry is created for each segment of a media file, then the client device can dynamically switch between representations, but platform latency increases as the manifest file must be downloaded before streaming
Solution Approach 1:
The patent extracts only the essential information needed for segment retrieval into the manifest file, rather than including detailed information for every segment. By using byte range specifications and consolidated entries, the manifest file contains only the critical data needed to locate and retrieve segments, reducing download time and latency.
3Adaptability or versatility
If multiple representations of a media file are provided for client devices with varying bandwidth, then clients can select appropriate quality, but network congestion occurs due to user traffic directed to popular media within a CDN
Solution Approach 1:
The system dynamically adjusts manifest file content based on client device characteristics and network conditions. The decision engine modifies manifest files in real-time to reflect current bandwidth availability, server load, and popularity metrics, enabling adaptive streaming that responds to changing network conditions and reduces congestion on popular content.
Data Source
AI summary
An online system more efficiently streams multimedia content over the Internet for play back on client devices with varying computing power and network bandwidths by generating enhanced manifest files that more efficiently identify suitable media representations of the multimedia content. Each media representation has multiple media segments according to predefined byte ranges and a manifest file, which identifies location of the media file, bitrates, resolution, byte range, total duration, and other metadata. The online system customizes a manifest file for a user based on various factors including device capacity, network connectivity type and geolocation of the user. The online system also generates manifest fetch commands, which more efficiently fetch media segments for streaming. In response to changes of streaming server and media file (e.g., increased popularity), the online system dynamically updates corresponding manifest files.


