Streaming Media Index Caching for Variable Bitrate Playback
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional approaches to streaming media content do not provide users with the capability to stream, store, and playback media content at variable bitrates, limiting flexibility and adaptability to different streaming conditions.
Innovation Solution
The system receives top-level index data from a server, caches it, and uses this data to request and cache media content segments based on streaming conditions, updating the index file to enable playback of media content fragments at various bitrates, resolutions, and frame rates, using Matroska container files and protocols like HTTP for efficient media delivery.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional streaming protocols are used, then media content can be transmitted, but users cannot stream, store, and playback media content at variable bitrates
Solution Approach 1:
The patent segments media content into discrete chunks or segments that can be independently downloaded and cached. Each segment is associated with specific bitrate and timestamp information stored in index files. This segmentation enables the system to selectively cache and playback segments at different bitrates based on available storage and network conditions, providing variable bitrate capability without requiring complex real-time adaptive streaming protocols.
Solution Approach 2:
The patent performs preliminary actions by pre-downloading and caching media segments during off-peak times or when network conditions are favorable. Index files are created in advance that map segments to their corresponding bitrates and playback timestamps. This preliminary caching enables flexible bitrate selection during playback without requiring continuous server connection or complex real-time adaptation mechanisms.
2Reliability
If media content is cached locally for offline playback, then continuous server connection is not needed, but managing and updating cached content becomes complex
Solution Approach 1:
The patent introduces index files as intermediary structures that simplify cache management. These index files contain metadata about cached segments including their locations, bitrates, and playback timestamps. When server content updates, only the index files need to be updated to reflect new segment locations or bitrates, while the actual media segments remain cached locally. This intermediary layer enables offline playback capability while simplifying update management compared to managing raw cached content directly.
3Adaptability or versatility
If multiple bitrate versions of media content are stored, then flexible playback options are available, but storage space requirements increase
Solution Approach 1:
The patent applies local quality by allowing different parts of the media content (different segments) to be cached at different bitrates based on local conditions such as available storage space and anticipated playback requirements. The index files enable the system to select appropriate bitrate segments for playback without requiring all segments to be stored at all possible bitrates. This selective caching approach provides bitrate flexibility while optimizing storage space utilization.
Data Source
AI summary
Methods, systems, and computer readable media for streaming media content are provided. In some embodiments, the methods comprise: receiving top level index data from a server; caching the top level index data in an index file; receiving header data associated with a first media content file from the server; caching the header data in a header file; receiving a first segment of the first media content file based at least in part on the index file; caching the first segment of the first media content file in a first file; updating the index file to include information about the first file; and causing the first fragment to be displayed based at least in part on the index file and the header file.


