Real-time or near real-time streaming
First Claim
1. A machine readable non-transitory storage medium storing executable instructions that when executed by a data processing system cause the system to perform a method of real-time or near real-time presentation of a stream of media data using a non-streaming transfer protocol comprising:
- setting a target duration for all media files specified in a playlist file, such that all media files specified in the playlist have the same target duration, wherein the target duration is a maximum duration for all media files specified within the playlist file, the playlist file comprising a list of multiple media files that have been divided out of the stream of media data;
setting a minimum playlist duration for the playlist file, wherein the minimum playlist duration is a multiple of the target duration for all of the media files specified in the playlist file, wherein the minimum playlist duration sets a length of minimum playback time of content specified by the playlist file, wherein an amount of buffering at a client device receiving the playlist file is determined from the playlist file satisfying the minimum playlist duration;
transmitting the playlist file to another device using a non-streaming transfer protocol, the playlist file having a plurality of tags and a plurality of Universal Resource Indicators (URIs), the plurality of tags and the plurality of URIs indicating an ordering of the multiple media files that have been divided out of the stream of media data, the ordering used to reassemble the stream of media data by sequential presentation of the multiple media files.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatuses provide real-time or near real-time streaming of content, specified in one or more playlists, using transfer protocols such as an HTTP compliant protocol. In one embodiment, a method can adaptively determine a minimum overlap for an overlap in time between two streams being received concurrently in order to determine when to switch between the two streams, and the minimum overlap can be determined based on connection speed. In another embodiment, a minimum playlist duration can be set as a multiple of a target duration which specifies a maximum duration of a media file specified in a playlist. In another embodiment, a method can enforce a start point for playback at a client device.
250 Citations
14 Claims
-
1. A machine readable non-transitory storage medium storing executable instructions that when executed by a data processing system cause the system to perform a method of real-time or near real-time presentation of a stream of media data using a non-streaming transfer protocol comprising:
-
setting a target duration for all media files specified in a playlist file, such that all media files specified in the playlist have the same target duration, wherein the target duration is a maximum duration for all media files specified within the playlist file, the playlist file comprising a list of multiple media files that have been divided out of the stream of media data; setting a minimum playlist duration for the playlist file, wherein the minimum playlist duration is a multiple of the target duration for all of the media files specified in the playlist file, wherein the minimum playlist duration sets a length of minimum playback time of content specified by the playlist file, wherein an amount of buffering at a client device receiving the playlist file is determined from the playlist file satisfying the minimum playlist duration; transmitting the playlist file to another device using a non-streaming transfer protocol, the playlist file having a plurality of tags and a plurality of Universal Resource Indicators (URIs), the plurality of tags and the plurality of URIs indicating an ordering of the multiple media files that have been divided out of the stream of media data, the ordering used to reassemble the stream of media data by sequential presentation of the multiple media files. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A machine implemented method of real-time or near real-time presentation of a stream of media data using a non-streaming transfer protocol, performed by a data processing system, the method comprising:
-
setting a target duration for all media files specified in a playlist file, such that all media files specified in the playlist file have the same target duration, wherein the target duration is a maximum duration for all media files specified within the playlist file, the playlist file comprising a list of multiple media files that have been divided out of the stream of media data; setting a minimum playlist duration for the playlist file, wherein the minimum playlist duration is a multiple of the target duration for all media files specified in the playlist file, wherein the minimum playlist duration sets a length of minimum playback time of content specified by the playlist file, wherein an amount of buffering at a client device receiving the playlist file is determined from the playlist file satisfying the minimum playlist duration; transmitting the playlist file to another device using a non-streaming transfer protocol, the playlist file having a plurality of tags and a plurality of Universal Resource Indicators (URIs), the plurality of tags and the plurality of URIs indicating an ordering of the multiple media files that have been divided out of the stream of media data, the ordering used to reassemble the stream of media data by sequential presentation of the multiple media files. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A data processing system comprising:
-
means for generating a playlist file having a target duration for all media files specified in the playlist file, such that all media files specified in the playlist file have the same target duration, wherein the target duration is a maximum duration for all media files specified within the playlist file, the playlist file comprising a list of multiple media files that have been divided out of a stream of media data; means for generating the playlist file with a minimum playlist duration for the playlist file, wherein the minimum playlist duration is a multiple of the target duration for all files specified in the playlist file, wherein the minimum playlist duration sets a length of minimum playback time of content specified by the playlist file, wherein an amount of buffering at a client device receiving the playlist file is determined from the playlist file satisfying the minimum playlist duration; means for transmitting the playlist file to another device using a non-streaming transfer protocol, the playlist file having a plurality of tags and a plurality of Universal Resource Indicators (URIs), the plurality of tags and the plurality of URIs indicating an ordering of multiple media files that have been divided out of the stream of media data to reassemble the stream of media data by sequential presentation of the multiple media files and wherein the non-streaming transfer protocol comprises a hypertext transfer protocol (HTTP) compliant protocol.
-
Specification