Abstract:
A distributed adaptive bit rate (ABR) proxy system may include a gateway device that includes a first transcoder and is configured to receive segments of a content item from an ABR server, and a secondary device that includes a second transcoder and is configured to receive the segments of the content item from the gateway device. The first transcoder may transcode the segments based at least in part on a first ABR profile to generate first transcoded segments, and the second transcoder may transcode the segments based at least in part on a second ABR profile to generate second transcoded segments. The gateway device may advertise the first and second ABR profiles to user devices and may transmit the first transcoded segments to the user devices in response to requests therefor. The secondary device may transmit the second transcoded segments to the user devices in response to requests therefor.
Abstract:
Systems and methods for transmitting content using segment-based and non-segment-based streams are provided. In some aspects, a method includes identifying at least one segment-based stream of content. Each segment-based stream is associated with a respective first bit rate and includes one or more segments of the content. The method also includes identifying at least one non-segment-based stream of the content. Each non-segment-based stream is associated with a second bit rate and includes a continuous stream of the content. The method also includes enabling switching between use of i) the at least one segment-based stream and ii) the at least one non-segment-based stream to continuously transmit the content to one or more client devices.
Abstract:
An device and method for providing multiple adaptive bit rate (ABR) streams using a single transcoder is disclosed. The device receives a group of content segments for a media channel, and converts, using a transcoder, a first of the content segments from a source format to a first data format, a first time duration for converting the first content segment being less than a second time duration for receiving each group of segments. The converted segment is then sent to a client device. On receiving a request from the device for content segments in a second data format, the device performs an initialization of the transcoder to convert content segments from the source format to the second data format, the initialization being completed during a residual period of time, or “operational gap” produced by a difference between the first time duration and the second time duration.
Abstract:
Disclosed are various embodiments directed to transcoding a media file in parallel. A media file may be accessed, the media file comprising a bit stream expressing a series of pictures. A first random access point in the bit stream and a second random access point in the bit stream are identified. An input segment of the bit stream is generated, the input segment comprising a starting point, the starting point being the first random access point. One of a plurality of transcoders is selected to transcode the input segment for generating a corresponding output segment, each transcoder being configured to operate concurrently in parallel. The output segment is stored in a memory.
Abstract:
Disclosed are various embodiments directed to transcoding a bit stream comprising audio and video frames that contains discontinuities. The video and/or audio portion of the bit stream may be divided into segments, where some of the segments are transcoded in parallel using a plurality of transcoder devices. In some embodiments, a discontinuity is detected in the bit stream before encoding, where the discontinuity is associated with a shift in a set of time stamps associated with the bit stream. A magnitude of the discontinuity is determined. The transcoding system aligns at least a portion of the audio frames to the series of video frames according to at least the discontinuity and the magnitude of the discontinuity. In other embodiments, the discontinuity is detected after encoding by analyzing time stamps that have been established during the transcoding process.
Abstract:
Disclosed are various embodiments directed to transcoding a bit stream in parallel. A bit stream may be divided into a plurality of segments, where a plurality of transcoders encode at least a portion of the segments in parallel. If encoding is performed using variable bit rate (BR) encoding, each encoder may encode a segment and vary a BR for the segment. A measured average BR is compared with a target average BR to determine whether to adjust a video quality level (VQL) or any other encoder parameter. A relatively constant subjective quality may be maintained using variable BR encoding while achieving a target average BR. When using constant BR encoding, a VQL or other encoder parameter is used by encoders to achieve relatively constant subjective quality. For example, a relatively continuous quantization parameter between adjacent encoded segments may be achieved.
Abstract:
A method for performing trick-mode operations with decreased latency for transcode streaming includes receiving and recording a stream of video data. A single transcoder may transcode the stream of video data and generate output video data in an output buffer following. Segmentation index information may be generated that refers to the output data in the output buffer. Skip-backwards, skip-ahead, and resume requests received from a client device are responded by retrieving transcoded video data from the output buffer or retrieving and transcoding video data from an input storage. A method for performing skip-ahead trick-mode operation with decreased latency may use two transcoders such as two threads of the single transcoder to transcode temporally current content and forward content. The forward content may be associated with a forward time offset with respect to the temporally current content. The transcoded forward content is provided in response to skip-ahead trick mode request.
Abstract:
A method for performing trick-mode operations with decreased latency for transcode streaming includes receiving and recording a stream of video data. A single transcoder may transcode the stream of video data and generate output video data in an output buffer following. Segmentation index information may be generated that refers to the output data in the output buffer. Skip-backwards, skip-ahead, and resume requests received from a client device are responded by retrieving transcoded video data from the output buffer or retrieving and transcoding video data from an input storage. A method for performing skip-ahead trick-mode operation with decreased latency may use two transcoders such as two threads of the single transcoder to transcode temporally current content and forward content. The forward content may be associated with a forward time offset with respect to the temporally current content. The transcoded forward content is provided in response to skip-ahead trick mode request.
Abstract:
An device and method for providing multiple adaptive bit rate (ABR) streams using a single transcoder is disclosed. The device receives a group of content segments for a media channel, and converts, using a transcoder, a first of the content segments from a source format to a first data format, a first time duration for converting the first content segment being less than a second time duration for receiving each group of segments. The converted segment is then sent to a client device. On receiving a request from the device for content segments in a second data format, the device performs an initialization of the transcoder to convert content segments from the source format to the second data format, the initialization being completed during a residual period of time, or “operational gap” produced by a difference between the first time duration and the second time duration.
Abstract:
Systems and methods for transmitting content using segment-based and non-segment-based streams are provided. In some aspects, a method includes identifying at least one segment-based stream of content. Each segment-based stream is associated with a respective first bit rate and includes one or more segments of the content. The method also includes identifying at least one non-segment-based stream of the content. Each non-segment-based stream is associated with a second bit rate and includes a continuous stream of the content. The method also includes enabling switching between use of i) the at least one segment-based stream and ii) the at least one non-segment-based stream to continuously transmit the content to one or more client devices.