US2021263981A1PendingUtilityA1

Playlists for real-time or near real-time streaming

Assignee: APPLE INCPriority: Dec 31, 2008Filed: Mar 5, 2021Published: Aug 26, 2021
Est. expiryDec 31, 2028(~2.4 yrs left)· nominal 20-yr term from priority
H04L 65/756H04N 21/26258H04N 21/234327G06F 16/954H04N 21/44209H04N 21/44016H04N 21/8456H04N 21/4394H04N 21/44004H04N 21/234363H04L 65/1069H04N 7/17318H04L 47/34H04L 67/06H04L 65/60H04L 67/02
70
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Methods and apparatuses for real-time or near real-time streaming of content using transfer protocols such as an HTTP compliant protocol. In one embodiment, a method includes dividing a stream of data, representing the contiguous time based content of a program (e.g. a live video broadcast), into a plurality of distinct media files, and generating a playlist file having a plurality of tags and Universal Resource Indicators (URIs) indicating an order of presentation of the plurality of distinct media files. The plurality of media files and the playlist file can be made available for transmission to a client device which can retrieve the media files using the playlist file.

Claims

exact text as granted — not AI-modified
1 . (canceled) 
     
     
         2 . A machine implemented method comprising:
 dividing, at a server device, a stream of data into multiple media files, each of the multiple media files to be stored as individual files in a memory for transmission in a transfer protocol compliant format;   generating a playlist file having a plurality of tags and a plurality of Universal Resource Indicators (URIs), the plurality of URIs indicating an ordering of the multiple media files to recreate the stream of data as a presentation of one or both of audio and video; and   generating an updated playlist file corresponding to changes to media files, the updated playlist file comprising a plurality of updated URIs indicating an ordering of updated multiple media files to recreate a representation of the stream of data.   
     
     
         3 . The method of  claim 2  wherein the changes to media files comprises adding one or more media files, and the updated playlist file includes URIs to the added one or more media files. 
     
     
         4 . The method of  claim 2  wherein the changes to media files comprises modifications to the one or more media files and the updated playlist file comprises URIs to the multiple media files, and one or more of the tags in the plurality of tags is updated to reflect the modifications to the one or more media files. 
     
     
         5 . The method of  claim 2  wherein the changes to media files comprises removal of one or more selected media files from the playlist file and adding one or more further media files and the updated playlist file comprises URIs to the one or more further media files and wherein the stream of data is a contiguous time based stream of content for a single program containing one or both of audio or video and wherein the transfer protocol is an HTTP compliant protocol. 
     
     
         6 . The method of  claim 2  wherein the updated playlist is generated at the expiration of a selected period of time. 
     
     
         7 . The method of  claim 2  further comprising:
 determining an approximate duration of a next media file to be added to the playlist file; 
 causing the playlist file to include a tag indicating the approximate duration. 
 
     
     
         8 . The method of  claim 2  further comprising:
 determining sequence numbers for one or more of the URIs in the playlist file; and 
 causing the playlist file to include one or more tags indicating one or more of the sequence numbers. 
 
     
     
         9 . The method of  claim 2  further comprising:
 determining whether a client device to receive the media files is authorized to store the media files after playback; 
 causing the playlist to include a tag that indicates whether the client device is authorized to store the media files after playback. 
 
     
     
         10 . A non-transitory computer-readable medium having stored thereon executable instructions that, when executed, cause one or more processors to perform a method, the method comprising:
 dividing, at a server device, a stream of data into multiple media files, each of the multiple media files to be stored as individual files in a memory for transmission in a transfer protocol compliant format;   generating a playlist file having a plurality of tags and a plurality of Universal Resource Indicators (URIs), the plurality of URIs indicating an ordering of the multiple media files to recreate the stream of data as a presentation of one or both of audio and video; and   generating an updated playlist file corresponding to changes to media files, the updated playlist file comprising a plurality of updated URIs indicating an ordering of updated multiple media files to recreate a representation of the stream of data.   
     
     
         11 . The medium of  claim 10  wherein the changes to multiple media files comprises adding one or more media files, and the updated playlist file includes URIs to the added one or more media files. 
     
     
         12 . The medium of  claim 10  wherein the changes to the multiple media files comprises modifications to the one or more media files and the updated playlist file comprises URIs to the multiple media files, and one or more of the tags in the plurality of tags is updated to reflect the modifications to the one or more media files. 
     
     
         13 . The medium of  claim 10  wherein the changes to the multiple media files comprises removal of one or more selected media files from the playlist file and adding one or more further media files, and the updated playlist file comprises URIs to the one or more further media files and wherein the stream of data is a contiguous time based stream of content for a single program containing one or both of audio or video and wherein the transfer protocol is an HTTP compliant protocol. 
     
     
         14 . The medium of  claim 10  wherein the updated playlist is generated at the expiration of a selected period of time. 
     
     
         15 . The medium of  claim 10 , wherein the method further comprises:
 determining an approximate duration of a next media file to be added to the playlist file;   causing the playlist file to include a tag indicating the approximate duration.   
     
     
         16 . The medium of  claim 10 , wherein the method further comprises:
 determining sequence numbers for one or more of the URIs in the playlist file; and   causing the playlist file to include one or more tags indicating one or more of the sequence numbers.   
     
     
         17 . The medium of  claim 10 , wherein the method further comprises:
 determining whether a client device to receive the media files is authorized to store the media files after playback;   causing the playlist to include a tag that indicates whether the client device is authorized to store the media files after playback.   
     
     
         18 . A non-transitory computer readable medium having stored thereon executable instructions that, when executed, cause one or more processors to perform a method, the method comprising:
 storing multiple media files as individual files in a memory in a transfer protocol compliant format, the multiple media files having been divided out of a contiguous time based stream of data from content that includes one or both of audio and video;   transmitting a playlist file to a client device using the transfer protocol, the playlist file having a plurality of tags and a plurality of Universal Resource Indicators (URIs), the plurality of URIs indicating an ordering of the multiple media files to recreate the content;   transferring one or more of the multiple media files to the client device using the transfer protocol in response to one or more requests from the client device utilizing one or more of the plurality of URIs;   transmitting an updated playlist file to the client device, the updated playlist file corresponding to changes to the multiple media files, the updated playlist file comprising a plurality of updated URIs indicating an ordering of the updated multiple media files to recreate a representation of the content.   
     
     
         19 . The medium of  claim 18  wherein the changes to the multiple media files comprises at least one of: (a) the addition of one or more media files and the updated playlist file includes URIs to the added one or more media files; (b) modifications to the one or more media files and the updated playlist file comprises URIs to the multiple media files, and one or more of the tags in the plurality of tags is updated to reflect the modifications to the one or more media files; or (c) removal of one or more selected media files from the multiple media files and the addition of one or more further media files; and wherein the stream of data is a contiguous time based stream of content for a single program and wherein the transfer protocol is an HTTP compliant protocol. 
     
     
         20 . The medium of  claim 18  wherein the updated playlist is generated at the expiration of a selected period of time, and wherein the transfer protocol is an HTTP compliant protocol. 
     
     
         21 . A machine implemented method comprising:
 requesting, with a client device, a playlist file using a transfer protocol;   receiving, in response to the requesting, the playlist file having (1) Universal Resource Indicators (URIs) indicating a plurality of media files for a contiguous time based stream of data of a program and (2) a plurality of tags having parameters related to the plurality of media files;   requesting and receiving one or more of the media files in an order indicated in the playlist;   receiving an updated playlist file corresponding to changes to the media files, the updated playlist file comprising a plurality of updated URIs indicating an ordering of an updated plurality of media files.   
     
     
         22 . The method as in  claim 21 , wherein the method further comprises:
 requesting the updated playlist file and receiving the updated playlist file in response to the requesting of the updated playlist file;   generating a presentation of the program from the updated plurality of media files.   
     
     
         23 . The method as in  claim 21  wherein the changes to the media files comprises at least one of: (a) the addition of one or more media files and the updated playlist file includes URIs to the updated plurality of media files; (b) modifications of one or more of the plurality of media files; or (c) removal of a first set of media files from the playlist file and the addition of one or more further media files to the playlist file and wherein the transfer protocol is an HTTP compliant protocol. 
     
     
         24 . A non-transitory machine readable storage medium having stored thereon executable instructions that, when executed, cause one or more processors to perform a method, the method comprising:
 requesting, with a client device, a playlist file using a transfer protocol;   receiving, in response to the requesting, the playlist file having Universal Resource Indicators (URIs) indicating a plurality of media files for a contiguous time based stream of data of a program and a plurality of tags having parameters related to the plurality of media files;   requesting and receiving one or more of the media files in an order indicated in the playlist;   receiving an updated playlist file corresponding to changes to the media files, the updated playlist file comprising a plurality of updated URIs indicating an ordering of an updated plurality of media files.   
     
     
         25 . The storage medium as in  claim 24  wherein the method further comprises:
 requesting the updated playlist file and receiving the updated playlist file in response to the requesting of the updated playlist file; 
 generating a presentation of the program from the updated playlist. 
 
     
     
         26 . The storage medium as in  claim 25  wherein the changes to the media files comprises at least one of: (a) the addition of one or more media files and the updated playlist file includes URIs to the updated plurality of media files; (b) modifications of one or more of the plurality of media files; or (c) removal of a first set of media files from the playlist file and the addition of one or more further media files to the playlist file and wherein the transfer protocol is an HTTP compliant protocol.

Join the waitlist — get patent alerts

Track US2021263981A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.