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 having a processor, the method comprising:
- receiving, by the processor, media information that describes multiple multi-bitrate streams available from a network, wherein each of the multi-bitrate streams is encoded at multiple bitrates and carries content from a media source different than media sources associated with the other multi-bitrate streams;
receiving, by the processor, a priority indication for each of the multi-bitrate streams, the priority indication indicates a priority of one of the multi-bitrate streams relative to other multi-bitrate streams;
receiving, by the processor, from the network at least two of the multi-bitrate streams described by the received media information and performing concurrent playback of the at least two multi-bitrate streams in the client computer system;
monitoring, by the processor, the at least two multi-bitrate streams during playback; and
upon detecting over utilization of client resources in the client computer system during playback of the at least two multi-bitrate streams, reducing, by the processor, a bitrate of playback of one of the multi-bitrate streams with a lower priority to a lower bitrate value so that at least one multi-bitrate stream with a higher priority can use at least some of the client resources concurrently consumed by the multi-bitrate stream with the lower priority.
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.
64 Citations
20 Claims
-
1. A computer-implemented method for monitoring multiple dynamic media streams playing concurrently on a client computer system having a processor, the method comprising:
-
receiving, by the processor, media information that describes multiple multi-bitrate streams available from a network, wherein each of the multi-bitrate streams is encoded at multiple bitrates and carries content from a media source different than media sources associated with the other multi-bitrate streams; receiving, by the processor, a priority indication for each of the multi-bitrate streams, the priority indication indicates a priority of one of the multi-bitrate streams relative to other multi-bitrate streams; receiving, by the processor, from the network at least two of the multi-bitrate streams described by the received media information and performing concurrent playback of the at least two multi-bitrate streams in the client computer system; monitoring, by the processor, the at least two multi-bitrate streams during playback; and upon detecting over utilization of client resources in the client computer system during playback of the at least two multi-bitrate streams, reducing, by the processor, a bitrate of playback of one of the multi-bitrate streams with a lower priority to a lower bitrate value so that at least one multi-bitrate stream with a higher priority can use at least some of the client resources concurrently consumed by the multi-bitrate stream with the lower priority. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computing system for coordinating bitrate adjustments of multiple dynamic media streams, the computing system comprising:
-
a processor and a memory operatively coupled to the processor, the memory containing instructions executable by a processor to cause the processor to perform a process comprising; receiving information describing two or more media streams, wherein each of the media streams is encoded at multiple bitrates and carries content from a media source different than media sources associated with content of the other media streams; receiving a registration indication for each of the two or more media streams, wherein the registration indication includes priority information that indicates a relative priority of each of the media streams; initializing each of the two or more media streams for concurrent playback; and monitoring the concurrent playback of the two or more media streams and reducing a bitrate of playback of at least one of the media streams with a lower relative priority to a lower bitrate value in response to one or more resource conditions that change during the concurrent playback of the two more media streams. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A computer-readable storage device comprising instructions for controlling a computer system to startup multiple adaptive streams, wherein the instructions executable by a processor cause the processor to perform actions comprising:
-
receiving information identifying first and second streams and associated relative priorities for playback of the first and second streams, wherein; each of the first and second streams is encoded at multiple bitrates; the first stream carries content from a first media source; and the second stream carries content from a second media source different than the first media source, the second stream having a priority lower than the first stream; receiving a selection of the first stream to begin playback; starting playback of the selected first stream; during playback of the first stream, sampling resource usage of the computer system to determine whether the selected first stream is playing back at a threshold quality level; upon determining that the first stream is playing back at the threshold quality level, starting playback of the second stream concurrently with playback of the first stream; monitoring the first and second streams during concurrent playback; and upon detecting over utilization of resources in the computer system during concurrent playback of the first and second streams, reducing a bitrate of playback of the second stream with the lower priority to a lower bitrate value so that the first stream uses at least some of the resources concurrently consumed by the second stream. - View Dependent Claims (20)
-
Specification