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.
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.
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.
Abstract:
Methods, systems and devices are described to avoid stalling during playback of an adaptive media stream delivered to a media player device over a network. The media device requests segments of the media stream that are received in a buffer. Buffer utilization is monitored over time to determine a rate of change, and future segment requests are adjusted based upon the determined rate of change in the buffer utilization. By making adjustments based upon the rate of change in buffer utilization, sudden changes that could otherwise affect the viewer's experience can be avoided.
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.
Abstract:
Systems, devices and methods are provided to support multiple audio tracks in an adaptive media stream. Segments of the adaptive stream are encoded so that the player is able to locate and request a specific one of the available audio tracks using byte range requests or the like. Audio content can be removed from video segments, or at least moved to the end of the segments so that a byte range request obtains just the video content when the default audio is not desired. The audio content can be obtained from a separate audio segment. Indeed, multiple audio tracks can be packaged into a common audio segment so that byte range requests can obtain just the particular audio track desired.
Abstract:
Systems, devices and methods are provided to arbitrate network bandwidth that is shared between multiple video players executing concurrently on one or more client platforms that each have at least one video data stream supplied over a data network. An amount of bandwidth available from the data network is determined. An arbitration module calculates whether the selected video players can sustain a video playback quality above a pre-defined threshold using the determined amount of bandwidth available, and a modify playback message is sent to at least one video player when the video playback quality is not sustainable. Various implementations could prioritize bandwidth based upon the content presented so that high-bandwidth scenes (e.g., action sequences) receive more bandwidth than more static scenes.
Abstract:
Systems, devices and processes are described to adapt segment requests placed by an autonomous media player during media streaming to compensate for fluctuations in the bandwidth consumed by the requested segments due to variances in the underlying video content. By providing predictive data about the bandwidth consumption of upcoming video segments, client devices can adapt requests for future segments accordingly. Further, predictive consumption data can be shared between players operating within shared bandwidth to assist players needing additional bandwidth for upcoming video sequences.
Abstract:
Systems, devices and processes are described to adapt segment requests placed by an autonomous media player during media streaming to compensate for fluctuations in the bandwidth consumed by the requested segments due to variances in the underlying video content. By providing predictive data about the bandwidth consumption of upcoming video segments, client devices can adapt requests for future segments accordingly. Further, predictive consumption data can be shared between players operating within shared bandwidth to assist players needing additional bandwidth for upcoming video sequences.
Abstract:
Systems and methods are described for providing trick play functions such as fast forward, rewind or slow motion during playback of streaming media content. Multiple sets of streamlets or other media files that represent the same media stream are encoded differently from each other (e.g., at different frame rates and/or frame directions), and each set of files is simultaneously maintained at a server. Files encoded at a first format are made available to the client device during regular playback, and files encoded at a different frame rate and/or a different direction of encoding are made available to support trick play.