MANAGING MULTIPLE DYNAMIC MEDIA STREAMS
First Claim
1. A computer-implemented method for monitoring multiple dynamic media streams playing concurrently on a client computer system, the method comprising:
- receiving media information that describes multiple multi-bitrate streams;
receiving a priority indication for each stream that indicates a priority of the stream relative to other streams associated with a media event;
starting at least one of the streams described by the received media information;
monitoring the multiple streams to ensure that the streams coordinate to adapt to changing client resource conditions; and
upon detecting over utilized client resources, providing a notification to a lower priority stream to disable playback so that higher priority streams can use the resources currently consumed by the lower priority stream,wherein the preceding steps are performed by at least one processor.
2 Assignments
0 Petitions
Accused Products
Abstract
A coordinated adaptive streaming system provides a level of intelligence between adaptive streaming heuristics applied to multiple multi-bitrate streams playing on a client computer at the same time. The system receives a media event that includes multiple multi-bitrate streams and plays two or more of the streams. Each stream registers with the coordinated adaptive streaming system so that the system is aware of each of the streams. The system receives a priority indication from each stream that indicates the priority of the stream relative to other streams associated with the media event. The system uses the received priority indications to make adaptive streaming decisions. Thus, the coordinated adaptive streaming system provides playback that more closely aligns with a user'"'"'s priorities and provides a higher quality experience to a user viewing multiple concurrent media streams.
-
Citations
20 Claims
-
1. A computer-implemented method for monitoring multiple dynamic media streams playing concurrently on a client computer system, the method comprising:
-
receiving media information that describes multiple multi-bitrate streams; receiving a priority indication for each stream that indicates a priority of the stream relative to other streams associated with a media event; starting at least one of the streams described by the received media information; monitoring the multiple streams to ensure that the streams coordinate to adapt to changing client resource conditions; and upon detecting over utilized client resources, providing a notification to a lower priority stream to disable playback so that higher priority streams can use the resources currently consumed by the lower priority stream, wherein the preceding steps are performed by at least one processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer system for coordinating bitrate adjustments of multiple dynamic media streams, the system comprising:
-
a processor and memory configured to execute software instructions; a startup component configured to receive information describing two or more multi-bitrate media streams and initialize each stream for playback; a registration component configured to receive a registration indication for each stream, wherein the registration indication includes priority information that indicates a relative priority of streams; a playback component configured to manage playback of the streams; a priority management component configured to maintain the priority information associated with each stream; and a monitoring component configured to monitor playback of the multiple media streams and adapt playback of the streams in response to one or more resource conditions. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A computer-readable storage medium comprising instructions for controlling a computer system to startup multiple adaptive streams, wherein the instructions, when executed, cause a processor to perform actions comprising:
-
receiving information identifying multiple streams and their relative priorities for playback; selecting a stream from the multiple streams for which to begin playback; starting playback of the selected stream; sampling resource usage to determine whether the selected stream is playing back at a threshold acceptable quality level; upon determining that there are adequate resources to playback the selected stream, selecting a next stream lower in priority to the selected stream, and starting playback of the selected next stream. - View Dependent Claims (20)
-
Specification