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 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 support placeshifting of adaptive media streams. A home device acts as an intermediary that passes requests for segments of an adaptive stream from a remote device to a content source. The content source responds with the requested segments, which are forwarded to the remote device. A connection service may be provided to facilitate placeshifting sessions between home and remote devices.
Abstract:
An apparatus, system, and method for maintaining a programming lineup of adaptive-bitrate content streaming is provided. The apparatus includes a timeline module configured to maintain a programming lineup of media content available over a network. The media content may comprise a plurality of streamlets. The apparatus also includes at least one data module configured to maintain multi-bitrate streamlet information. The system includes the apparatus and a client module configured to acquire content based upon the programming lineup provided by the timeline module. The method includes maintaining a programming lineup of media content available over a network, and maintaining multi-bitrate streamlet information.
Abstract:
Methods, systems, and devices are described for estimating packet loss during media streaming over a data connection. A media player requests segments of an adaptive media stream and monitors variance in the amounts of data received. Increased variance in the amounts of data received can be directly correlated to a higher packet loss experienced by the data connection. The media player can use the estimated packet loss to adapt subsequent segment requests, or to otherwise subsequent behavior by the media player.
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 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 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:
Methods, systems and devices are described to improve the performance of adaptive media streaming sessions. A media player device proactively requests segment data representing a media stream over multiple simultaneous network connections. Delivery of the requested segment data on each of the plurality of simultaneous connections is monitored, and subsequent requests for segment data are adapted based upon the monitored delivery of the requested segments on each of the plurality of simultaneous connections.
Abstract:
A system and method are provided of minimizing network bandwidth used from an external network by client peers in a local network. The method can include the operation of organizing a plurality of clients each having media streamlets and a client parent in a structure within the local network. Mapping information propagates through the structure. The mapping information represents local streamlet locations as stored by the plurality of clients. Another operation is retrieving a local streamlet from a client identified in the mapping information as having the local streamlet for the requesting client.