×

Systems and methods of encoding trick play streams for use in adaptive streaming

  • US 10,382,785 B2
  • Filed: 10/09/2018
  • Issued: 08/13/2019
  • Est. Priority Date: 01/05/2011
  • Status: Active Grant
First Claim
Patent Images

1. A content distribution system, comprising:

  • a set of one or more encoding servers, wherein each server of the set of encoding servers comprises;

    a non-volatile storage containing an encoder application;

    at least one processor;

    wherein the encoder applications cause the set of encoding servers to encode source content as a set of streams that are each stored in a separate container file, where the set of streams comprises;

    a plurality of alternative video streams each having a frame rate and a bitrate;

    an audio stream; and

    at least one trick play stream by performing the steps of;

    identifying a plurality of sections of the source content;

    for each particular section of the plurality of sections, encoding the particular section to produce a plurality of encodings of the particular section for each of the plurality of alternative streams, wherein the plurality of encodings of the particular section comprises encodings at a plurality of different bitrates;

    assembling a container file for each of the plurality of alternative video stream by;

    assembling the encodings of the plurality of sections for a given video stream from the plurality of alternative video streams into a video container file; and

    generating entries in a container index within the container file indicating sizes of portions of the given video stream within the video container file, where the portions of the given video stream comprise an encoded group of pictures that commences with a picture encoded without reference to another picture in the given video stream;

    encoding at least a portion of the source content to produce at least one trick play stream, where;

    each trick play stream in the at least one trick play stream is encoded at a lower frame rate than the frame rates of the plurality of alternative streams, andeach frame of a trick play stream in the at least one trick play stream is a picture encoded without reference to another picture in the trick play stream;

    assembling a container file for each of the at least one trick play streams by;

    assembling each frame of a given trick play stream from the at least one trick play stream into a trick play container file; and

    generating entries in a trick play index within the trick play container file that include a timecode and a location of a frame in the given track play stream; and

    uploading the container files for each of the plurality of alternative streams, a container file for the audio stream, and the at least one container file for the at least one trick play stream on a set of servers that form part of a content distribution system.

View all claims
  • 4 Assignments
Timeline View
Assignment View
    ×
    ×