Apparatus, system, and method for multi-bitrate content streaming
First Claim
1. A system for adaptive-rate content streaming videos for playback on end user stations, the system comprising a set of one or more servers including,a storage device to store a plurality of different copies of a same single video each encoded at a different bit rate and each divided into a plurality of streamlets that collectively store data to playback the entire video but that individually store data to playback only a portion that starts at a unique time index and whose duration is less than the entire playback duration of the single video, wherein the time indexes of the streamlets are the same for the different copies such that the streamlets with the same time indexes from the different copies independently yield the same portions of the single video, and wherein each of the streamlets of each of the pluralities is a separate content file that is independently playable by the end user stations, anda web server, to be executed on the set of servers, wherein the web server is configured to:
- receive, for a set of one or more initial and sequential ones of the time indexes, at least one streamlet request over a set of one or more network connections from a requesting one of the end user stations to retrieve the separate content files storing the portions of the single video starting at the set of time indexes from one of the different copies;
retrieve from the storage device the requested content files from the one copy;
send the retrieved content files from the one copy to the requesting one of the end user stations over the set of network connections;
receive, for each subsequent time index, at least one streamlet request over the set of network connections from the requesting one of the end user stations to retrieve the separate content files storing the portion of the single video starting at that time index from one of the different copies currently selected, wherein the requesting one of the end user stations selects the currently selected one of the different copies dependent upon ongoing determinations to shift the playback quality to a higher or lower quality one of the different copies, wherein the shifts in playback quality occur at the time indexes;
retrieve from the storage device the requested content files from the currently selected one of the different copies; and
send the retrieved content files from the currently selected one of the different copies to the requesting one of the end user stations over the set of network connections.
4 Assignments
0 Petitions
Accused Products
Abstract
An apparatus for multi-bitrate content streaming includes a receiving module configured to capture media content, a streamlet module configured to segment the media content and generate a plurality of streamlets, and an encoding module configured to generate a set of streamlets. The system includes the apparatus, wherein the set of streamlets comprises a plurality of streamlets having identical time indices and durations, and each streamlet of the set of streamlets having a unique bitrate, and wherein the encoding module comprises a master module configured to assign an encoding job to one of a plurality of host computing modules in response to an encoding job completion bid. A method includes receiving media content, segmenting the media content and generating a plurality of streamlets, and generating a set of streamlets.
-
Citations
20 Claims
-
1. A system for adaptive-rate content streaming videos for playback on end user stations, the system comprising a set of one or more servers including,
a storage device to store a plurality of different copies of a same single video each encoded at a different bit rate and each divided into a plurality of streamlets that collectively store data to playback the entire video but that individually store data to playback only a portion that starts at a unique time index and whose duration is less than the entire playback duration of the single video, wherein the time indexes of the streamlets are the same for the different copies such that the streamlets with the same time indexes from the different copies independently yield the same portions of the single video, and wherein each of the streamlets of each of the pluralities is a separate content file that is independently playable by the end user stations, and a web server, to be executed on the set of servers, wherein the web server is configured to: -
receive, for a set of one or more initial and sequential ones of the time indexes, at least one streamlet request over a set of one or more network connections from a requesting one of the end user stations to retrieve the separate content files storing the portions of the single video starting at the set of time indexes from one of the different copies; retrieve from the storage device the requested content files from the one copy; send the retrieved content files from the one copy to the requesting one of the end user stations over the set of network connections; receive, for each subsequent time index, at least one streamlet request over the set of network connections from the requesting one of the end user stations to retrieve the separate content files storing the portion of the single video starting at that time index from one of the different copies currently selected, wherein the requesting one of the end user stations selects the currently selected one of the different copies dependent upon ongoing determinations to shift the playback quality to a higher or lower quality one of the different copies, wherein the shifts in playback quality occur at the time indexes; retrieve from the storage device the requested content files from the currently selected one of the different copies; and send the retrieved content files from the currently selected one of the different copies to the requesting one of the end user stations over the set of network connections. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for adaptive-rate content streaming videos for playback on a content player on an end user station, the method comprising:
-
receiving a selected one of the videos for generating streamlets for adaptive-rate content streaming; and creating a plurality of different copies of the same selected video, wherein each of the different copies is encoded at a different bit rate and is divided into a plurality of streamlets that collectively store data to playback the entire video but that individually store data to playback only a portion that starts at a unique time index and whose duration is less than the entire duration of the selected video, wherein the time indexes of the streamlets are the same for the different copies such that streamlets with the same time indexes form the different copies independently yield the same portions of the selected video, and wherein each of the streamlets of each of the pluralities is a separate content file that is independently playable by the end user station. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A method for streaming from a set of one or more servers videos for playback on a content player on an end user station, the method comprising:
streaming from the set of servers a selected one of the videos for playback on the content player, wherein the set of servers stores a plurality of different copies of the same selected video each encoded at a different bit rate and each divided into a plurality of streamlets that collectively store data to playback the entire video but that individually store data to playback only a portion that starts at a unique time index and whose duration is less than the entire playback duration of the selected video, wherein the time indexes of the streamlets are the same for the different copies such that the streamlets with the same time indexes from the different copies independently yield the same portions of the selected video, and wherein each of the streamlets of each of the pluralities is a separate content file that is independently playable by the end user stations, and wherein said streaming comprises; receiving, for a set of one or more initial and sequential ones of the time indexes, at least one streamlet request over a set of one or more network connections from a requesting one of the end user stations to retrieve the separate content files storing the portions of the single video starting at the set of time indexes from one of the different copies; retrieving from the storage device the requested content files with the set of time indexes from the one copy; sending the retrieved content files from the one copy to the requesting one of the end user stations over the set of network connections; receiving, for each subsequent time index, at least one streamlet request over the set of network connections from the requesting one of the end user stations to retrieve the separate content files storing the portion of the single video starting at that time index from one of the different copies currently selected, wherein the requesting one of the end user stations selects the currently selected one of the different copies dependent upon successive determinations to shift the playback quality to a higher or lower quality one of the different copies, wherein the shifts in playback quality occur at the time indexes; retrieving from the storage device the requested content files with the time index from the currently selected one of the different copies; and sending the retrieved content files from the currently selected one of the different copies to the requesting one of the end user stations over the set of network connections.
Specification