Real-time or near real-time streaming
First Claim
1. A machine readable, tangible, non-transitory storage medium storing executable instructions that, when executed, cause a data processing system to perform a method comprising:
- requesting, with a client device, a playlist file from a server device, wherein the client device is configured to play media content using the playlist file, the media content having a media content type comprising video on demand, event, or live, wherein a type parameter of “
live”
indicates that the media content has an indefinite start time, and wherein a type parameter of “
event”
indicates that the media content has a definite start time and an indefinite ending time;
receiving, at the client device in response to the request, the playlist file from the server device, the playlist file having Universal Resource Indicators (URIs) which indicate a plurality of media files and a plurality of tags having parameters related to playback of the plurality of media files;
parsing, by the client device, the playlist file and determining that one of the plurality of tags comprises an optional PLAYLIST-TYPE tag having a type parameter which indicates a type of the playlist file, wherein the type parameter comprises one of video on demand (VOD), live, or event;
parsing, by the client device, the playlist file to determine whether one of the plurality of tags comprises an ENDLIST tag, indicating that no more media files will be added to the playlist file;
in response to determining that the playlist file does not contain the ENDLIST tag;
in response to the PLAYLIST-TYPE tag having the type parameter “
VOD”
, playing media content using the playlist file comprises the client;
not requesting an updated playlist file from the server; and
generating an error indicating that the playlist file does not contain the ENDLIST tag;
in response to the PLAYLIST-TYPE tag having the type parameter “
live”
, playing media content using the playlist file comprises the client device requesting and loading an updated playlist file from the server device;
in response to the PLAYLIST-TYPE tag having the type parameter “
event”
, playing the media content using the playlist file comprises the client requesting an updated playlist file, and;
loading only a portion of the updated playlist file;
orloading the entire updated playlist file and parsing only a portion of the updated playlist file;
requesting, by the client device from the server device, one or more of the media files in an order indicated by the playlist file; and
receiving, by the client device from the server device, the one or more requested media files through the network using the non-streaming transfer protocol.
1 Assignment
0 Petitions
Accused Products
Abstract
A near real time content streaming system can use a playlist file, in one embodiment, that includes an indicator of the type of content represented by the playlist file. The type can be indicated by a parameter, such as Video on Demand (VOD) or live, or event, that specifies the type of playlist file, and a client device can process the playlist file based upon the type of playlist file indicated by the parameter. For example, the client device, after determining the type of playlist from a playlist file can make efficiency optimizations when processing the playlist file. For example, the client, knowing the playlist file is a VOD playlist, can save the previously used variant playlist when switching to a new variant playlist rather than discarding the previously used variant playlist.
-
Citations
17 Claims
-
1. A machine readable, tangible, non-transitory storage medium storing executable instructions that, when executed, cause a data processing system to perform a method comprising:
-
requesting, with a client device, a playlist file from a server device, wherein the client device is configured to play media content using the playlist file, the media content having a media content type comprising video on demand, event, or live, wherein a type parameter of “
live”
indicates that the media content has an indefinite start time, and wherein a type parameter of “
event”
indicates that the media content has a definite start time and an indefinite ending time;receiving, at the client device in response to the request, the playlist file from the server device, the playlist file having Universal Resource Indicators (URIs) which indicate a plurality of media files and a plurality of tags having parameters related to playback of the plurality of media files; parsing, by the client device, the playlist file and determining that one of the plurality of tags comprises an optional PLAYLIST-TYPE tag having a type parameter which indicates a type of the playlist file, wherein the type parameter comprises one of video on demand (VOD), live, or event; parsing, by the client device, the playlist file to determine whether one of the plurality of tags comprises an ENDLIST tag, indicating that no more media files will be added to the playlist file; in response to determining that the playlist file does not contain the ENDLIST tag; in response to the PLAYLIST-TYPE tag having the type parameter “
VOD”
, playing media content using the playlist file comprises the client;not requesting an updated playlist file from the server; and generating an error indicating that the playlist file does not contain the ENDLIST tag; in response to the PLAYLIST-TYPE tag having the type parameter “
live”
, playing media content using the playlist file comprises the client device requesting and loading an updated playlist file from the server device;in response to the PLAYLIST-TYPE tag having the type parameter “
event”
, playing the media content using the playlist file comprises the client requesting an updated playlist file, and;loading only a portion of the updated playlist file;
orloading the entire updated playlist file and parsing only a portion of the updated playlist file; requesting, by the client device from the server device, one or more of the media files in an order indicated by the playlist file; and receiving, by the client device from the server device, the one or more requested media files through the network using the non-streaming transfer protocol. - View Dependent Claims (2, 3, 4, 5, 6, 15, 16, 17)
-
-
7. A machine implemented method performed by a data processing system, the method comprising:
-
requesting, with a client device, a playlist file from a server device, wherein the client device is configured to play media content using the playlist file, the media content having a media content type comprising video on demand, event, or live, wherein a type parameter of “
live”
indicates that the media content has an indefinite start time, and wherein a type parameter of “
event”
indicates that the media content has a definite start time and an indefinite ending time;receiving, at the client device in response to the request, the playlist file from the server device, the playlist file having Universal Resource Indicators (URIs) which indicate a plurality of media files and a plurality of tags having parameters related to playback of the plurality of media files; parsing, by the client device, the playlist file and determining that one of the plurality of tags comprises an optional PLAYLIST-TYPE tag having a type parameter which indicates a type of the playlist file, wherein the type parameter comprises one of video on demand (VOD), live, or event; parsing, by the client device, the playlist file to determine whether one of the plurality of tags comprises an ENDLIST tag, indicating that no more media files will be added to the playlist file; in response to determining that the playlist file does not contain the ENDLIST tag; in response to the PLAYLIST-TYPE tag having the type parameter VOD, playing media content using the playlist file comprises the client; not requesting an updated playlist file from the server; and generating an error indicating that the playlist file does not contain the ENDLIST tag; in response to the PLAYLIST-TYPE tag having the parameter “
live”
, playing media content using the playlist file comprises the client device requesting and loading an updated playlist file from the server device;in response to the PLAYLIST-TYPE tag having the type parameter “
event”
, playing the media content using the playlist file comprises the client device requesting an updated playlist file, and;loading only a portion of the updated playlist file;
orloading the entire playlist file and parsing only a portion of the updated playlist file; requesting, by the client device from the server device, one or more of the media files in an order indicated by the playlist file; and receiving, by the client device from the server device, the one or more requested media files through the network using the non-streaming transfer protocol. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A data processing system comprising:
-
a processing device programmed with executable instructions that, when executed, perform a method comprising; requesting, with a client device, a playlist file from a server device, wherein the client device is configured to play media content using the playlist file, the media content having a media content type comprising video on demand, event, or live, wherein a type parameter of “
live”
indicates that the media content has an indefinite start time, and wherein a type parameter of “
event”
indicates that the media content has a definite start time and an indefinite ending time;receiving, at the client device in response to the request, the playlist file from the server device, the playlist file having Universal Resource Indicators (URIs) which indicate a plurality of media files and a plurality of tags having parameters related to playback of the plurality of media files; parsing, by the client device, the playlist file and determining that one of the plurality of tags comprises an optional PLAYLIST-TYPE tag having a type parameter which indicates a type of the playlist file, wherein the type parameter comprises one of video on demand (VOD), live, or event; parsing, by the client device, the playlist file to determine whether one of the plurality of tags comprises an ENDLIST tag, indicating that no more media files will be added to the playlist file; in response to determining that the playlist file does not contain the ENDLIST tag; in response to the PLAYLIST-TYPE tag having the type parameter VOD, playing media content using the playlist file comprises the client; not requesting an updated playlist file from the server; and generating an error indicating that the playlist file does not contain the ENDLIST tag; in response to the PLAYLIST-TYPE tag having the type parameter “
live”
playing the media content using the playlist file comprises the client device requesting and loading an updated playlist file from the server device;in response to the PLAYLIST-TYPE tag having the type parameter “
event”
, playing the media content using the playlist comprises the client device requesting an updated playlist file, and;loading only a portion of the updated playlist file;
orloading the entire playlist file and parsing only a portion of the updated playlist file; requesting, by the client device from the server device, one or more of the media files in an order indicated by the playlist file; and receiving, by the client device from the server device, the one or more requested media files through the network using the non-streaming transfer protocol. - View Dependent Claims (13, 14)
-
Specification