Adaptive Bitrate Streaming via Matroska Container Indexing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing adaptive streaming technologies face challenges in efficiently streaming media stored in Matroska container files using Hypertext Transfer Protocol (HTTP), particularly in adapting bitrate based on real-time streaming conditions.
Innovation Solution
The system and method involve encoding source media into multiple alternative streams, each stored in a Matroska container file, with different encoding parameters such as bitrate, resolution, and frame rate. A processor configures these parameters to ensure each stream starts with an intra frame as a closed Group of Pictures (GOP), and an index is created to identify the location of each stream within the container files, facilitating adaptive bitrate streaming via HTTP.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If source media is encoded at multiple bit rates and stored in Matroska container files, then adaptive bitrate streaming capability is improved, but device complexity and processing requirements increase
Solution Approach 1:
The source media is segmented into multiple alternative streams, each encoded at different bit rates and stored as separate elements within Matroska container files. This segmentation enables the playback device to select appropriate streams based on real-time network conditions while maintaining a unified container structure that simplifies management.
Solution Approach 2:
All alternative streams are pre-encoded and stored in the Matroska container files before playback. This preliminary encoding action eliminates the need for real-time transcoding during playback, reducing device complexity and processing requirements while maintaining adaptive bitrate streaming capability.
2Ease of operation
If HTTP protocol is used for streaming instead of RTSP, then ease of operation and compatibility are improved, but loss of time for state management and control increases
Solution Approach 1:
The system uses HTTP's stateless nature to its advantage by embedding all necessary stream selection and switching information directly within the Matroska container files and index structures. The playback device can independently make streaming decisions without requiring server state management, eliminating time losses associated with maintaining session state while preserving ease of operation and broad protocol compatibility.
3Adaptability or versatility
If multiple alternative streams are stored in separate container files, then adaptability is improved, but volume of data and storage requirements increase
Solution Approach 1:
Multiple alternative streams are merged into single Matroska container files rather than storing each stream in separate files. The Matroska format's hierarchical structure allows multiple video stream elements to coexist within a single container, reducing the total number of files and simplifying storage management while maintaining the ability to switch between streams based on network conditions.
Data Source
AI summary
Systems and methods for performing trick play functionality using trick play streams during adaptive bitrate streaming in accordance with embodiments of the invention are disclosed. One embodiment includes requesting a video container index from a video container file containing a video stream from a plurality of alternative streams of video; requesting at least one portion of the video stream using at least one entry from the video container index; decoding the at least one portion of the video stream; receiving at least one user instruction to perform a visual search of the media; requesting a trick play container index from a trick play container file containing a trick play stream; requesting at least one frame of video from the at least one trick play stream; and decoding and displaying the at least one frame of video from the trick play stream.


