Systems and methods for performing adaptive bitrate streaming using automatically generated top level index files
First Claim
1. A method for streaming a piece of content, comprising:
- requesting a top level index file from a playback server using a playback device, where the request identifies a piece of content and includes information describing the capabilities of the playback device;
receiving a top level index file from the playback server using the playback device, where the top level index file (i) describes at least a bitrate of each of a plurality of different alternative streams associated with the identified piece of content and accessible to the playback device and (ii) identifies the location of the each of the plurality of different alternative streams, where each of the plurality of different alternative streams encodes the piece of content at a different maximum bitrate;
selecting an initial stream from the plurality of different alternative streams using the playback device; and
retrieving at least a portion of the initial stream from the location identified in the top level index file using the playback device.
5 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for performing adaptive bitrate streaming using top level index files automatically generated based upon the capabilities of a playback device in accordance with embodiments of the invention are disclosed. One embodiment of the method of the invention includes requesting a top level index file from a playback server using a playback device, where the request identifies a piece of content and includes information describing the capabilities of the playback device, receiving a top level index file from the playback server using the playback device, where the top level index file describes a plurality of streams accessible to the playback device and identifies the location of the streams, selecting initial streams using the playback device, and retrieving at least a portion of the initial streams from the locations identified in the top level index file using the playback device.
69 Citations
43 Claims
-
1. A method for streaming a piece of content, comprising:
-
requesting a top level index file from a playback server using a playback device, where the request identifies a piece of content and includes information describing the capabilities of the playback device; receiving a top level index file from the playback server using the playback device, where the top level index file (i) describes at least a bitrate of each of a plurality of different alternative streams associated with the identified piece of content and accessible to the playback device and (ii) identifies the location of the each of the plurality of different alternative streams, where each of the plurality of different alternative streams encodes the piece of content at a different maximum bitrate; selecting an initial stream from the plurality of different alternative streams using the playback device; and retrieving at least a portion of the initial stream from the location identified in the top level index file using the playback device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A playback device, comprising:
-
memory containing information describing the capabilities of the playback device; and a processor configured by a client application; wherein the client application configures the processor to; request a top level index file from a playback server, where the request identifies a piece of content and includes information describing the capabilities of the playback device; receive a top level index file from the playback server, where the top level index file (i) describes at least a bitrate of each of a plurality of different alternative streams associated with the identified piece of content and accessible to the playback device and (ii) identifies the location of the streams, where each alternative stream encodes the piece of content at a different maximum bitrate; select an initial stream from the plurality of different alternative streams; and retrieve at least a portion of the initial streams from the locations identified in the top level index file. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. A non-transitory machine readable medium containing processor instructions, where execution of the instructions by a processor causes the processor to perform a process comprising:
-
requesting a top level index file from a playback server, where the request identifies a piece of content and includes information describing the capabilities of the playback device; receiving a top level index file from the playback server, where the top level index file (i) describes at least a bitrate of each of a plurality of different alternative streams associated with the identified piece of content and accessible to the playback device and (ii) identifies the location of the streams, where each alternative stream encodes the piece of content at a different maximum bitrate; selecting an initial stream from the plurality of different alternative streams; and retrieving at least a portion of the initial streams from the locations identified in the top level index file. - View Dependent Claims (42)
-
-
43. A method for streaming a piece of content at a playback device, the method comprising:
-
requesting, via Hypertext Transfer Protocol (HTTP) on a network, a top level index file from a playback server using a playback device, where the request identifies a piece of content and includes (i) information describing a type of the playback device and (ii) information regarding the network bandwidth; receiving a top level index file from the playback server using the playback device, where the top level index file includes an index to a plurality of different alternative streams associated with the identified piece of content, with each alternative stream encoding the piece of content at a different bitrate, where the top level index file provides, based on the type of the playback device and information regarding the network bandwidth, at least a maximum bitrate and a uniform resource identifier (URI) of each alternative stream associated with the piece of content and accessible to the playback device; selecting an initial stream from the plurality of different alternative streams provided in the top level index file using the playback device; and requesting at least a portion of the initial stream, using HTTP byte range requests that correspond to container files that contain encoded video for the portion of the initial stream, from the URI locations identified in the top level index file using the playback device; and receiving the requested portion of the initial stream for playback by the playback device.
-
Specification