Abstract:
Various systems, methods and devices adaptively manage the multicast delivery of multiple media programs. Each of the media programs is encoded into multiple media streams, each stream having a different bitrate, frame rate, resolution or other encoding parameter. A computer receives feedback about the delivery of the multiple streams and automatically adapts the number of streams available for at least one of the multiple media programs in response to the received feedback. This allows resources to be applied to those multicast streams having the greatest user demand.
Abstract:
Methods, systems, and devices are described to proactively adapt media streaming by a number of media player clients over the Internet or another data network. Each media player requests segments of an adaptive media stream for playback to a viewer. In some implementations, some or all of the media players in the system are able to measure packet loss or other indicia of issues with the data transmission. This indicia can be used to adapt subsequent requests for additional segments of the media stream. Moreover, some implementations could provide the measured packet loss or other indicia back to the server as feedback. The server, in turn, can use the feedback from the players (along with any other additional information) to formulate business rules that can be subsequently delivered to some or all of the players in the system. The media players can therefore adapt their segment request based upon locally measured data and/or based upon business rules that reflect system-wide conditions.
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:
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.