Dynamic generation of video manifest files
US-9613042-B1 · Apr 4, 2017 · US
US10666698B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-10666698-B1 |
| Application number | US-201414577096-A |
| Country | US |
| Kind code | B1 |
| Filing date | Dec 19, 2014 |
| Priority date | Dec 19, 2014 |
| Publication date | May 26, 2020 |
| Grant date | May 26, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Disclosed are various embodiments for a service for selecting the bandwidth of a media stream. The service correlates the buffer state of a client with previously communicated portions of the stream. The service then determines a bit rate for subsequent portions of the stream. A manifest may be generated indicating a source for content at the determined bit rate.
Opening claim text (preview).
Therefore, the following is claimed: 1. A method, comprising: beginning, by at least one computing device, streaming of a media item, the media item comprising a plurality of content fragments; and during the streaming of the media item over time: obtaining, by the at least one computing device and from a client device, a respective state of a buffer of the client device corresponding to at least one size and at least one encoding bit rate attribute for a respective last requested content fragment, wherein the respective state of the buffer describes a respective duration of buffered content corresponding to the respective last requested content fragment transferred to the client device over time; updating, by the at least one computing device, a stream history to store the at least one encoding bit rate attribute and the at least one size for the respective last requested content fragment transferred to the client device over time; calculating, by the at least one computing device, an estimated bandwidth of a communications channel to the client device based at least in part on a correlation between the at least one encoding bit rate attribute and the at least one size stored in the stream history by the at least one computing device, and an effect on the respective state of the buffer of the client device while streaming the content fragments over time; calculating, by the at least one computing device, a confidence value associated with the estimated bandwidth; selecting, by the at least one computing device, a sequentially next content fragment of the streaming media item for the client device based at least in part on the estimated bandwidth, the confidence value, and an amount of buffered content; communicating, by the at least one computing device, a manifest file to the client device, the manifest file including a single resource locator of a plurality of resource locators associated with the sequentially next content fragment of the streaming media item for reference by the client device, the manifest file excluding a remainder of the plurality of resource locators based at least in part on a purchase history associated with a user of the client device; and updating, by the at least one computing device, the stream history to store at least one encoding bit rate attribute and at least one size for the sequentially next content fragment. 2. The method of claim 1 , wherein the confidence value is based at least in part on a standard deviation associated with the respective state of the buffer. 3. The method of claim 1 , wherein the sequentially next content fragment of the streaming media item is selected as having a bit rate less than the estimated bandwidth responsive to the confidence value falling below a predefined threshold. 4. The method of claim 1 , wherein the sequentially next content fragment of the streaming media item is selected based at least in part on a plurality of override rules corresponding to a device type. 5. The method of claim 1 , wherein the sequentially next content fragment of the streaming media item is selected as having a bit rate greater than the estimated bandwidth responsive to an estimated download time of the sequentially next content fragment of the streaming media item being less than or equal to a sum of a first duration of the sequentially next content fragment of the streaming media item and a second duration of at least a portion of the amount of buffered content. 6. A system, comprising: a memory configured to store computer-readable instructions; and at least one computing device configured, through execution of the computer-readable instructions, to: begin a stream of content on a client device, the stream of content comprising a plurality of content fragments; and following communication of individual last communicated content fragments of the plurality of content fragments during the stream of content over time: obtain, from the client device, a respective state of a buffer of the client device corresponding to a respective last communicated content fragment, wherein the respective state of the buffer describes a respective duration of buffered content corresponding to at least one size and at least one encoding bit rate attribute for the respective last communicated content fragment transferred to the client device during the stream of content over time; update a stream history to store the at least one encoding bit rate attribute and the at least one size for the respective last communicated content fragment transferred to the client device during the stream of content over time; calculate an estimated bandwidth of a communications channel to the client device based at least in part on a correlation between the at least one encoding bit rate attribute and the at least one size stored in the stream history at the at least one computing device, and an effect on the respective state of the buffer of the client device during the stream over time; select a sequentially next content fragment of the stream for the client device based at least in part on the estimated bandwidth of the client device and at least one fragment selection override rule associated with the client device; communicate a manifest file to the client device, the manifest file including a single resource locator of a plurality of resource locators associated with the sequentially next content fragment of the stream for reference by the client device, the manifest file excluding a remainder of the plurality of resource locators based at least in part on a purchase history associated with a user of the client device; and update the stream history to store at least one encoding bit rate attribute and at least one size for the sequentially next content fragment. 7. The system of claim 6 , wherein the at least one computing device is further configured to: calculate a confidence value associated with the estimated bandwidth based on a standard deviation with reference to at least one previously estimated bandwidth; and select the sequentially next content fragment of the stream based at least further in part on the confidence value. 8. The system of claim 7 , wherein the at least one computing device is further configured to calculate, as the confidence value, a standard deviation of a plurality of states of the buffer or a plurality of rates of change of the buffer. 9. The system of claim 6 , wherein the at least one computing device is further configured to: select the sequentially next content fragment of the stream as having a bit rate greater than a last selected bit rate for a previously requested content fragment of the stream responsive to a rate of increase of buffered data in the buffer of the client device meeting a first predefined threshold; and select the sequentially next content fragment of the stream as having a bit rate less than the last selected bit rate for the previously requested content fragment of the stream responsive to a rate of decrease of buffered data in the buffer of the client device meeting a second predefined threshold. 10. The system of claim 6 , wherein the at least one computing device is further configured to modify a selection of the sequentially next content fragment of the stream according to at least one override rule corresponding to a device type of the client device. 11. The system of claim 10 , wherein the at least one computing device is further configured to select the sequentially next content fragment of the stream as having a last selected bit rate. 12. The system of claim 10 , wherein: the sequentially next content fragment of the stream is associated with a first bit rate; and the at lea
Electricity · mapped topic
for the control of the source by the destination (control signals issued by the client directed to the server or network components specially adapted for selective content distribution H04N21/637) · CPC title
adapting media to network capabilities · CPC title
In-session procedures · CPC title
for unicast · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.