Systems and Methods for Automatically Generating Top Level Index Files
Abstract
Systems and methods for automatically generating top level index files for use in adaptive bitrate streaming in accordance with embodiments of the invention are disclosed. One embodiment of the method of the invention includes receiving a request from a playback device at a playback server, where the request identifies a piece of content, retrieving a list of assets associated with the identified piece of content using the playback server, filtering the list of assets using at least one predetermined criterion using the playback server, generating a top level index file describing each asset in the filtered list of assets using the playback server, and sending the top level index file to the playback device using the playback server.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method of generating a top level index, comprising:
receiving a request from a specific playback device at a playback server system, where the request (i) identifies a piece of content and (ii) describes the specific playback device; in response to the received request, automatically generating a top level index customized for the specific playback device based upon information that describes streams associated with the identified piece of content using the playback server system by:
selecting a set of streams from the streams associated with the identified piece of content, where the selection is based upon at least one device capability possessed by the specific playback device; and
generating a top level index customized for the specific playback device, where the top level index describes each stream in the set of streams; and
sending the generated top level index to the specific playback device using the playback server system.
2 . The method of claim 1 , wherein the top level index comprises location information enabling retrieval of at least one stream of the set of streams.
3 . The method of claim 1 , wherein each stream of the set of streams is stored in a separate container file.
4 . The method of claim 1 further comprising, in response to the received request, providing the playback device with a playback location in the piece of content from a previous play event.
5 . The method of claim 4 further comprising receiving an event report from a different playback device, wherein the event report comprises the playback location.
6 . The method of claim 1 , wherein the set of streams comprises a set of alternative streams and each of the alternative streams is encoded at a different bitrate.
7 . The method of claim 6 , wherein the generated top level index describes a maximum bitrate of each of the alternative streams.
8 . The method of claim 1 , wherein selecting the set of streams comprises filtering the streams associated with the piece of content based upon the at least one device capability possessed by the specific playback device.
9 . The method of claim 1 , wherein the at least one device capability comprises at least one selected from the group consisting of playback capabilities, display aspect ratio, anticipated maximum network connection data rate, device outputs, supported formats, device buffer size, device resolution, device region, and device language.
10 . The method of claim 1 , wherein the request comprises a product identifier that describes the specific playback device.
11 . The method of claim 10 further comprising:
maintaining a database of product identifiers and associated device capabilities; and
utilizing the product identifier of the request from the specific playback device to retrieve the at least one device capability.
12 . The method of claim 1 , wherein the information that describes streams associated with the identified piece of content comprises a name of a file containing at least one of the streams associated with the identified piece of content.
13 . The method of claim 1 , wherein the information that describes streams associated with the identified piece of content comprises information for at least one content delivery network on which the set of streams is located.
14 . The method of claim 1 , wherein the set of streams comprises a set of one or more video streams and the information that describes streams associated with the identified piece of content comprises characteristics of each video stream comprising at least one selected from the group consisting of a maximum bitrate, a frame rate, a resolution, and a sample aspect ratio of the video stream.
15 . The method of claim 1 , wherein the set of streams comprises a set of one or more audio streams and the information that describes streams associated with the identified piece of content comprises characteristics of each audio stream comprising at least one selected from the group consisting of a language, an encoding, and bandwidth requirements of the audio stream.
16 . The method of claim 1 , wherein the set of streams comprises a set of one or more subtitle streams and the information that describes streams associated with the identified piece of content comprises characteristics of each subtitle stream comprising at least one selected from the group consisting of a language, an encoding, and bandwidth requirements of the subtitle stream.
17 . The method of claim 1 , wherein the request comprises at least one selected from the group consisting of playback capabilities of the playback device, a user account to which the playback device is registered, and geographic location information of the playback device.
18 . The method of claim 17 , wherein the geographic location information comprises at least one Internet Protocol (IP) address of the playback device.
19 . The method of claim 1 , wherein the top level index comprises an XML string for each stream in the set of streams.
20 . A method of generating a top level index, comprising:
receiving a request from a playback device at a playback server system, where the request (i) identifies a piece of content and (ii) comprises a product identifier; identifying at least one device capability of the playback device based on the product identifier from a database of product identifiers and associated device capabilities; retrieving information describing a plurality of streams based upon the identified piece of content and the at least one device capability using the playback server system, where:
the plurality of streams comprises a plurality of alternative streams capable of being utilized to perform adaptive bitrate streaming; and
each of the alternative streams is encoded at a different bitrate;
retrieving a last playback location for the identified piece of content, where the last playback location for the identified piece of content is based upon a received event report; in response to the received request, generating a top level index using the playback server system, where the top level index comprises:
information describing each of the retrieved plurality of streams; and
a last playback location for the identified piece of content; and
sending the generated top level index to the playback device using the playback server system.Join the waitlist — get patent alerts
Track US2023370515A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.