Adaptive Bitrate Streaming Media Saving via Matroska Container
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Adaptive streaming technologies face challenges in efficiently saving encoded media streamed using adaptive bitrate streaming, particularly in managing multiple streams and ensuring seamless playback across varying network conditions without disrupting the user experience.
Innovation Solution
The system employs a playback device configured with a video decoder application that selects and downloads alternative streams based on measured streaming conditions, decodes the video data, and saves it to memory, allowing for separate downloading and saving of video data streams, even after streaming has ceased, using a Matroska container file format with enhanced indexing and encryption for secure playback.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If adaptive bitrate streaming is used to adjust media quality based on network conditions, then playback continuity is improved, but the ability to save high-quality media for offline use is degraded
Solution Approach 1:
The system pre-identifies and downloads high-quality media segments during periods of good network conditions, storing them in advance for later offline playback. This preliminary action ensures that high-quality content is available before network conditions deteriorate, resolving the contradiction between maintaining playback continuity and enabling media saving.
Solution Approach 2:
The system dynamically adjusts the streaming quality and download behavior based on real-time network conditions. When network bandwidth is sufficient, it downloads high-quality segments; when bandwidth is limited, it switches to lower quality streaming. This dynamic adaptation allows the system to both maintain playback continuity and accumulate high-quality saved media over time.
2Adaptability or versatility
If multiple alternative streams are maintained for adaptive switching, then playback quality under varying network conditions is improved, but system complexity increases
Solution Approach 1:
The media content is segmented into discrete, independently downloadable segments or chunks. Each segment is available in multiple quality versions, but the system only needs to manage and switch between complete segments rather than continuous streams. This segmentation simplifies the switching logic and reduces the complexity of managing multiple alternative streams while maintaining adaptability.
Solution Approach 2:
Instead of maintaining multiple complete alternative streams in memory, the system downloads and stores copies of specific media segments locally when network conditions permit. This copying approach eliminates the need for complex real-time stream switching infrastructure, as the player can directly play from local copies, thereby reducing system complexity while preserving stream switching capability.
3Productivity
If media is streamed continuously without downloading, then network bandwidth utilization is improved, but local storage efficiency is degraded
Solution Approach 1:
The system employs periodic downloads of media segments during intervals when the player is not actively playing or when network conditions are favorable. This periodic action allows the system to utilize network bandwidth efficiently during download phases while accumulating local storage, creating a rhythm of network usage and local playback that balances both objectives.
Solution Approach 2:
The system extracts and downloads only the specific media segments that are needed for future playback, rather than continuously streaming all content. By taking out only the necessary segments and storing them locally, the system optimizes network bandwidth usage for essential content while building up a local library, thereby improving both network utilization efficiency and local storage effectiveness.
Data Source
AI summary
Systems and methods for saving encoded media streamed using adaptive bitrate streaming in accordance with embodiments of the invention are disclosed. In one embodiment of the invention, a playback device configured to perform adaptive bitrate streaming of media includes a video decoder application and a processor, where the video decoder application configures the processor to select a download stream from a set of alternative streams of video data, measure streaming conditions and request a stream of video data from the alternative streams of video data, receive portions of video data from the requested stream of video data, decode the received video data, save the received video data to memory, when the received video data is from the download stream and separately download and save the corresponding portion of video data from the download stream to memory, when the received video data is not from the download stream.


