×

Server side stream switching

  • US 9,015,335 B1
  • Filed: 06/17/2009
  • Issued: 04/21/2015
  • Est. Priority Date: 06/17/2009
  • Status: Active Grant
First Claim
Patent Images

1. A method of providing content, comprising:

  • under control of one or more computer systems configured with executable instructions,receiving, from a client to a content provider, a first request for a first subset of the content, the content corresponding to a plurality of versions, each of the plurality of versions corresponding to a different quality level;

    transmitting, from the content provider to the client, a first portion of the content in response to the first request, the first portion comprising a default version of the content and corresponding to the first request for the first subset of the content;

    determining, by the content provider, a transmission rate at which the client receives the first portion of the content;

    receiving, from the client to the content provider, a second request for a second subset of the content;

    estimating, by the content provider, a respective bit rate for transmitting each of the plurality of versions of the content to the client based at least in part on the transmission rate;

    determining, by the content provider, a plurality of threshold values for the plurality of versions of the content, a respective threshold value being based at least in part on the respective bit rate for a respective version of the plurality of versions and a respective predetermined factor based on a respective quality level of the respective version;

    selecting, by the content provider, a specific version of the plurality of versions based at least in part on comparing the transmission rate to the plurality of threshold values;

    generating a new key frame based at least in part on a first frame of the specific version in response to determining that the first frame is between key frames, the first frame corresponding to a start of the second subset of the content;

    re-encoding one or more frames of the specific version based at least in part on the new key frame, the one or more re-encoded frames following the first frame and sequenced prior to a next key frame of the specific version; and

    transmitting, from the content provider to the client, a second portion of the content in response to the second request, the second portion comprising the new key frame, the one or more re-encoded frames, and a remaining portion of the specific version that follows the next key frame and that corresponds to the second request for the second subset of the content.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×