PLAYLISTS FOR REAL-TIME OR NEAR REAL-TIME STREAMING
First Claim
1. A machine readable non-transitory storage medium storing executable instructions which, when executed, cause a data processing system to perform a method comprising:
- receiving a first playlist that includes a URL for a second playlist and a URL for a third playlist, the second playlist including a plurality of URLs specifying portions of a file containing I-frames, and the third playlist including a plurality of URLs to display a video at a 1×
speed;
determining a playback speed which is other than 1×
;
transmitting the URL for the second playlist in response to determining the playback speed;
receiving the second playlist;
transmitting requests for I-frames using URLs in the second playlist;
presenting, at the playback speed, I-frames that are received in response to the request for I-frames; and
wherein the URLs in the second playlist are associated with parameters specifying a range of data for each I-frame in the file containing the I-frames.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, systems and machine readable storage medium for allowing playback of streaming media at playback rates of other than 1× are described. In one embodiment, a method can determine different sets of I-frames that are available before a display deadline, where each set can have a different cadence, and one of the sets can be selected for download and display to achieve playback at other than 1×. Byte range requests from a client device can be used to retrieve each of the I-frames. Other methods, system and media are also described.
168 Citations
25 Claims
-
1. A machine readable non-transitory storage medium storing executable instructions which, when executed, cause a data processing system to perform a method comprising:
-
receiving a first playlist that includes a URL for a second playlist and a URL for a third playlist, the second playlist including a plurality of URLs specifying portions of a file containing I-frames, and the third playlist including a plurality of URLs to display a video at a 1×
speed;determining a playback speed which is other than 1×
;transmitting the URL for the second playlist in response to determining the playback speed; receiving the second playlist; transmitting requests for I-frames using URLs in the second playlist; presenting, at the playback speed, I-frames that are received in response to the request for I-frames; and wherein the URLs in the second playlist are associated with parameters specifying a range of data for each I-frame in the file containing the I-frames. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A data processing system comprising:
-
means for receiving a first playlist that includes a URL for a second playlist and a URL for a third playlist, the second playlist including a plurality of URLs specifying portions of a file containing I-frames, and the third playlist including a plurality of URLs to display a video at a 1×
speed;means for determining a playback speed which is other than 1×
;means for transmitting the URL for the second playlist in response to determining the playback speed; means for receiving the second playlist; means for transmitting requests for I-frames using URLs in the second playlist; means for presenting, at the playback speed, I-frames that are received in response to the request for I-frames; and wherein the URLs in the second playlist are associated with parameters specifying a range of data for each I-frame in the file containing the I-frames. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A machine readable non-transitory storage medium storing executable instructions which, when executed, cause a data processing system to perform a method comprising:
-
determining a set of parameters including a playback rate and a period of time that is available to download at least one I-frame; determining a first set of available I-frames, the I-frames in the first set being determined based on the set of parameters; determining a plurality of subsets of I-frames, each of the plurality of subsets of I-frames having a subset of the I-frames in the first set of available I-frames; determining an estimated download time for each of the plurality of subsets of I-frames; selecting one of the plurality of subsets of I-frames based upon the estimated download times and the set of parameters; receiving and displaying I-frames in the selected one of the plurality of subsets of I-frames. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A data processing system comprising:
-
means for determining a set of parameters including a playback rate and a period of time that is available to download at least one I-frame; means for determining a first set of available I-frames, the I-frames in the first set being determined based on the set of parameters; means for determining a plurality of subsets of I-frames, each of the plurality of subsets of I-frames having a subset of the I-frames in the first set of available I-frames; means for determining an estimated download time for each of the plurality of subsets of I-frames; means for selecting one of the plurality of subsets of I-frames based upon the estimated download times and the set of parameters; means for receiving and displaying I-frames in the selected one of the plurality of subsets of I-frames. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
Specification