Playlists for real-time or near real-time streaming
First Claim
Patent Images
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, by a client device, a first playlist that includes a URL for a second playlist and a URL for a third playlist,wherein the second playlist includes a plurality of URLs, each URL in the second playlist referencing a portion of a file containing a first frame data that includes only an I-frame corresponding to a 1×
speed, and each portion of the file having a same bit-rate, andwherein the third playlist includes a plurality of URLs and associated tags to display a video at the 1×
speed, each of the plurality of URLs in the third playlist referencing a portion of the file containing a second frame data to be played back in a sequence to display the video at the 1×
speed;
determining, by the client device, a playback speed which is other than the 1×
speed;
transmitting the URL within the first playlist for retrieving the second playlist having the plurality of URLs that reference I-frames corresponding to the 1×
speed, in response to determining the playback speed;
receiving the second playlist;
transmitting requests for the I-frames using the plurality of URLs in the second playlist;
presenting, at the determined playback speed which is other than the 1×
speed, the I-frames that are received in response to the requests for the I-frames; and
wherein the plurality of 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.
0 Assignments
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.
-
Citations
17 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, by a client device, a first playlist that includes a URL for a second playlist and a URL for a third playlist, wherein the second playlist includes a plurality of URLs, each URL in the second playlist referencing a portion of a file containing a first frame data that includes only an I-frame corresponding to a 1×
speed, and each portion of the file having a same bit-rate, andwherein the third playlist includes a plurality of URLs and associated tags to display a video at the 1×
speed, each of the plurality of URLs in the third playlist referencing a portion of the file containing a second frame data to be played back in a sequence to display the video at the 1×
speed;determining, by the client device, a playback speed which is other than the 1×
speed;transmitting the URL within the first playlist for retrieving the second playlist having the plurality of URLs that reference I-frames corresponding to the 1×
speed, in response to determining the playback speed;receiving the second playlist; transmitting requests for the I-frames using the plurality of URLs in the second playlist; presenting, at the determined playback speed which is other than the 1×
speed, the I-frames that are received in response to the requests for the I-frames; andwherein the plurality of 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 a processing system having at least one hardware processor, the processing system coupled to a memory programmed with executable instructions that, when executed by the processing system perform operations comprising:
-
receiving, by a client device, a first playlist that includes a URL for a second playlist and a URL for a third playlist, wherein the second playlist includes a plurality of URLs, each URL in the second playlist referencing a portion of a file containing a first frame data that includes only an I-frame, and each portion of the file having a same bit-rate, and wherein the third playlist includes a plurality of URLs and associated tags to display a video at a 1×
speed, each of the plurality of URLs in the third playlist referencing a portion of the file containing a second frame data to be played back in a sequence to display the video at the 1×
speed;determining, by the client device, a playback speed which is other than the 1×
speed;transmitting the URL within the first playlist for retrieving the second playlist having the plurality of URLs that reference I-frames corresponding to the 1×
speed, in response to determining the playback speed;receiving the second playlist; transmitting requests for the I-frames using the plurality of URLs in the second playlist; presenting, at the determined playback speed which is other than the 1×
speed, the I-frames that are received in response to the requests for the I-frames; andwherein the plurality of 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 implemented method comprising:
-
receiving, by a client device, a first playlist that includes a URL for a second playlist and a URL for a third playlist, wherein the second playlist includes a plurality of URLs, each URL in the second playlist referencing a portion of a file containing a first frame data that includes only an I-frame, and each portion of the file having a same bit-rate, and wherein the third playlist includes a plurality of URLs and associated tags to display a video at a 1×
speed, each of the plurality of URLs in the third playlist referencing a portion of the file containing a second frame data to be played back in a sequence to display the video at the 1×
speed;determining, by the client device, a playback speed which is other than the 1×
speed;transmitting the URL within the first playlist for retrieving the second playlist having the plurality of URLs that reference I-frames corresponding to the 1×
speed, in response to determining the playback speed;receiving the second playlist; transmitting requests for the I-frames using the plurality of URLs in the second playlist; presenting, at the determined playback speed which is other than the 1×
speed, the I-frames that are received in response to the requests for the I-frames; andwherein the plurality of 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 (13, 14, 15, 16, 17)
-
Specification