Mobile Media Streaming via Chunk-Based Byte Range Requests
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Native media applications are capable for streaming media content, but applications relying on web technologies like JavaScript/HTML5 face limitations, such as requiring entire media files to be downloaded before playback and inability to play encrypted content, especially on mobile devices with limited streaming support.
Innovation Solution
A system and method that allows selected parts of a media content file to be downloaded, adjusted, and decoded for playback on mobile devices, enabling playback in environments with low memory consumption or without Media Source Extensions support, by transforming chunk indexes into byte positions and requesting specific byte ranges from a media server.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If web technologies like JavaScript/HTML5 are used for media playback, then accessibility to media streaming services is improved, but the ability to stream encrypted content and play partial files is lost
Solution Approach 1:
The patent introduces an intermediary component that acts as a bridge between the web-based media player and the encrypted media content. This intermediary handles the decryption process and provides decrypted chunks to the player, enabling web technologies to access encrypted content without requiring native application capabilities.
Solution Approach 2:
The patent segments the media content into smaller chunks that can be individually downloaded, decrypted, and played. This segmentation allows the system to load only the necessary portions of encrypted files into memory, making encrypted content accessible to web-based players with limited memory resources.
2Reliability
If entire media files are downloaded before playback, then complete media content is available for playing, but memory consumption increases and playback delay occurs
Solution Approach 1:
The patent divides media files into smaller segments or chunks that can be downloaded and processed incrementally. This allows the system to maintain complete media content availability for playback while only loading necessary chunks into memory at any given time, significantly reducing memory consumption.
Solution Approach 2:
The system performs preliminary actions by pre-downloading and caching media chunks before they are needed for playback. This preliminary preparation ensures that content is ready for immediate playback without requiring the entire file to be loaded into memory simultaneously.
3Reliability
If native media applications are used, then full streaming capability is achieved, but compatibility with web-based applications is reduced
Solution Approach 1:
The patent creates a universal solution that enables web-based applications to perform functions previously exclusive to native applications. By implementing a chunk-based downloading and playback mechanism in the web environment, the system provides native-level streaming capability while maintaining web application compatibility.
Data Source
AI summary
In accordance with an embodiment, described herein is a system and method for streaming music on mobile devices, including those which may have limited support for streaming. In response to receiving a request for portions of media content to be retrieved from a media server and played at a media device, selected parts of a media content file (e.g., an MP3 file) can be downloaded from a media server, and prepended, appended, or otherwise adjusted into a complete (albeit relatively shorter) media content, which is decoded and sent, for example to an audio speaker at the media device. The approach provides flexibility in providing access to a media streaming service from non-native mobile device applications, for example by enabling a media application to load and play encrypted MP3 file content in environments such as mobile browsers that require low memory consumption, or do not support Media Source Extensions.


