DYNAMICALLY MODIFYING LIVE VIDEO STREAMS FOR PARTICIPANT DEVICES IN DIGITAL VIDEO ROOMS
This disclosure describes a video room system that can efficiently and flexibly generate and facilitate video rooms for video chatting between participant devices by prioritizing video streams to provide to participant devices based on performance parameters. For example, the video room system can provide different video room streams to different participant devices based on the performance parameters of the participant devices. In addition, the video room system can customize or tailor video room streams based on identifying dominant speaker devices, determining connections between participant devices as indicated by a social graph of a social networking system, and/or based on join methods utilized by participant devices to join a video room.
1 - 20 . (canceled)
21 . A method comprising:
determining performance parameters associated with a participant device from among a plurality of participant devices participating in a video room;
providing, for display on the participant device, a video room stream comprising a number of live video streams from participant devices of the plurality of participant devices according to the performance parameters;
detecting a change in the performance parameters associated with the participant device; and
based on detecting the change in the performance parameters, modifying the video room stream for the participant device to include a different number of live video streams from participant devices of the plurality of participant devices participating in the video room.
22 . The method of claim 21 , further comprising:
detecting additional changes in the performance parameters over time; and
dynamically modifying the video room stream for the participant device according to the additional changes over time.
23 . The method of claim 21 , wherein:
detecting the change in the performance parameters associated with the participant device comprises detecting a reduction in remaining battery life for the participant device; and
modifying the video room stream comprises reducing the number of live video streams provided to the participant device based on the reduction in remaining battery life.
24 . The method of claim 21 , wherein:
detecting the change in the performance parameters associated with the participant device comprises detecting a change in network bandwidth associated with the participant device; and
modifying the video room stream comprises modifying the number of live video streams provided to the participant device based on the change in network bandwidth.
25 . The method of claim 21 , wherein:
detecting the change in the performance parameters associated with the participant device comprises detecting a reduction in processing capacity for the participant device; and
modifying the video room stream comprises reducing the number of live video streams provided to the participant device based on the reduction in processing capacity.
26 . The method of claim 25 , wherein detecting the reduction in processing capacity comprises determining that the participant device begins performing one or more additional tasks which reduce available processing capacity for decoding and displaying live video streams for the video room.
27 . The method of claim 25 , wherein detecting the reduction in processing capacity comprises determining that the participant device enters a power save mode.
28 . A non-transitory computer readable medium comprising instructions that, when executed by at least one processor, cause a computing device to:
determine performance parameters associated with a participant device from among a plurality of participant devices participating in a video room;
provide, for display on the participant device, a video room stream comprising a number of live video streams from participant devices of the plurality of participant devices according to the performance parameters;
detect a change in the performance parameters associated with the participant device; and
based on detecting the change in the performance parameters, modify the video room stream for the participant device to include a different number of live video streams from participant devices of the plurality of participant devices participating in the video room.
29 . The non-transitory computer readable medium of claim 28 , further comprising instructions that, when executed by the at least one processor, cause the computing device to:
detect additional changes in the performance parameters over time; and
dynamically modify the video room stream for the participant device according to the additional changes over time.
30 . The non-transitory computer readable medium of claim 28 , further comprising instructions that, when executed by the at least one processor, cause the computing device to:
detect the change in the performance parameters associated with the participant device by detecting a reduction in remaining battery life for the participant device; and
modify the video room stream by reducing the number of live video streams provided to the participant device based on the reduction in remaining battery life.
31 . The non-transitory computer readable medium of claim 28 , further comprising instructions that, when executed by the at least one processor, cause the computing device to:
detect the change in the performance parameters associated with the participant device by detecting a change in network bandwidth associated with the participant device; and
modify the video room stream by modifying the number of live video streams provided to the participant device based on the change in network bandwidth.
32 . The non-transitory computer readable medium of claim 28 , further comprising instructions that, when executed by the at least one processor, cause the computing device to:
detect the change in the performance parameters associated with the participant device by detecting a reduction in processing capacity for the participant device; and
modify the video room stream by reducing the number of live video streams provided to the participant device based on the reduction in processing capacity.
33 . The non-transitory computer readable medium of claim 32 , further comprising instructions that, when executed by the at least one processor, cause the computing device to detect the reduction in processing capacity by determining that the participant device begins performing one or more additional tasks which reduce available processing capacity for decoding and displaying live video streams for the video room.
34 . The non-transitory computer readable medium of claim 32 , further comprising instructions that, when executed by the at least one processor, cause the computing device to detect the reduction in processing capacity by determining that the participant device enters a power save mode.
35 . A system comprising:
at least one processor; and
a non-transitory computer readable medium comprising instructions that, when executed by the at least one processor, cause the system to:
determine performance parameters associated with a participant device from among a plurality of participant devices participating in a video room;
provide, for display on the participant device, a video room stream comprising a number of live video streams from participant devices of the plurality of participant devices according to the performance parameters;
detect a change in the performance parameters associated with the participant device; and
based on detecting the change in the performance parameters, modify the video room stream for the participant device to include a different number of live video streams from participant devices of the plurality of participant devices participating in the video room.
36 . The system of claim 35 , further comprising instructions that, when executed by the at least one processor, cause the system to:
detect additional changes in the performance parameters over time; and
dynamically modify the video room stream for the participant device according to the additional changes over time.
37 . The system of claim 35 , further comprising instructions that, when executed by the at least one processor, cause the system to:
detect the change in the performance parameters associated with the participant device by detecting a reduction in remaining battery life for the participant device; and
modify the video room stream by reducing the number of live video streams provided to the participant device based on the reduction in remaining battery life.
38 . The system of claim 35 , further comprising instructions that, when executed by the at least one processor, cause the system to:
detect the change in the performance parameters associated with the participant device by detecting a change in network bandwidth associated with the participant device; and
modify the video room stream by modifying the number of live video streams provided to the participant device based on the change in network bandwidth.
39 . The system of claim 35 , further comprising instructions that, when executed by the at least one processor, cause the system to:
detect the change in the performance parameters associated with the participant device by detecting a reduction in processing capacity for the participant device; and
modify the video room stream by reducing the number of live video streams provided to the participant device based on the reduction in processing capacity.
40 . The system of claim 39 , further comprising instructions that, when executed by the at least one processor, cause the system to detect the reduction in processing capacity by determining that the participant device begins performing one or more additional tasks which reduce available processing capacity for decoding and displaying live video streams for the video room.