Distributing video streams to display screens during a hybrid conference
One example method includes receiving, by a display management device, one or more display configuration selections for one or more corresponding video conference displays for a hybrid conference location, the hybrid conference location providing a real-world space associated with a corresponding virtual conference hosted by a virtual conference provider; accessing, by the display management device, the corresponding virtual conference via the virtual conference provider; requesting, by the display management device, a plurality of video streams of the virtual conference from the virtual conference provider, each video stream corresponding to a virtual participant, the display management device not corresponding to any virtual participant; generating, for each video conference display of the one or more video conference displays, a real-time video rendering of a respective subset of the plurality of video streams according to the one or more display configurations; and providing, to the one or more video conference displays, the respective real-time video rendering.
1 . A method comprising:
receiving, by a display management device, one or more display configuration selections for one or more corresponding video conference displays positioned in a hybrid conference location, the hybrid conference location providing a real-world space associated with a corresponding virtual conference hosted by a virtual conference provider;
accessing, by the display management device, the corresponding virtual conference via the virtual conference provider;
requesting, by the display management device, a plurality of video streams of the virtual conference from the virtual conference provider, each video stream corresponding to a virtual participant, the display management device not corresponding to any virtual participant;
generating, for each video conference display of the one or more video conference displays, a real-time video rendering of a respective subset of the plurality of video streams according to the one or more display configurations; and
providing, to the one or more video conference displays, the respective real-time video rendering.
2 . The method of claim 1 , wherein requesting the plurality of video streams comprises:
determining a bandwidth limitation associated with a connection to the virtual conference;
identifying a lower-bandwidth version of one or more video streams of the plurality of video streams; and
requesting the plurality of video streams and the lower-bandwidth version of the one or more video streams.
3 . The method of claim 1 , further comprising:
determining a selection of a second plurality of video streams of the virtual conference;
generating an up-next queue based on the second plurality of video streams; and
after a predetermined elapsed time, replacing a first video stream of the subset of the plurality of video streams in the real-time video rendering with a second video stream from the up-next queue.
4 . The method of claim 1 , further comprising:
identifying one or more video streams from the plurality of video streams to exclude from the real-time video rendering; and
wherein generating the real-time video rendering comprises excluding the identified one or more video streams from the subset of the plurality of video streams.
5 . The method of claim 4 , wherein identifying the one or more video streams comprises identifying a video stream having an undesirable characteristic, the undesirable characteristic comprising no detected face, an inattentive participant, a resolution below a predetermined threshold, or a connection quality below a predetermined network threshold.
6 . The method of claim 1 , wherein providing the subset of plurality of video streams according to the real-time video rendering, comprises:
establishing communications with one or more rendering nodes;
assigning to each rendering node a respective node subset of the subset of the plurality of video streams;
providing to each rendering node the real-time video rendering of the subset of the plurality of video streams; and
instructing each rendering node to generate a respective real-time video rendering based on the respective node subset of the subset of the plurality of video streams to a respective video conference display of the one or more video conference displays.
7 . The method of claim 1 , wherein the one or more display configuration selections are received before the corresponding virtual conference begins.
8 . The method of claim 1 , further comprising:
receiving a selection of a video stream of the subset of the plurality of video streams;
receiving an input to block the video stream; and
remove the video stream from the subset of the plurality of video streams.
9 . The method of claim 1 , further comprising:
receiving, during the corresponding video conference, a modification of one or more of the one or more display configuration selections;
updating the real-time video rendering based on the modification; and
providing, to the one or more video conference displays, the subset of plurality of video streams according to the updated real-time video rendering.
10 . The method of claim 1 , further comprising selecting, using a trained AI model, the subset of the plurality of video streams.
11 . A system comprising:
a non-transitory computer-readable medium comprising processor-executable instructions; and
one or more processors communicatively coupled to the non-transitory computer-readable medium, the one or more processors configured to execute the processor-executable instructions stored in the non-transitory computer-readable medium to:
receive, by a display management device, one or more display configuration selections for one or more corresponding video conference displays positioned in a hybrid conference location, the hybrid conference location providing a real-world space associated with a corresponding virtual conference hosted by a virtual conference provider;
access, by the display management device, the corresponding virtual conference via the virtual conference provider;
request, by the display management device, a plurality of video streams of the virtual conference from the virtual conference provider, each video stream corresponding to a virtual participant, the display management device not corresponding to any virtual participant;
generate, for each video conference display of the one or more video conference displays, a real-time video rendering of a respective subset of the plurality of video streams according to the one or more display configurations; and
provide, to the one or more video conference displays, the respective real-time video rendering.
12 . The system of claim 11 , wherein the one or more processors are configured to execute further processor-executable instructions stored in the non-transitory computer-readable medium to:
determine a bandwidth limitation associated with a connection to the virtual conference;
identify a lower-bandwidth version of one or more video streams of the plurality of video streams; and
request the plurality of video streams and the lower-bandwidth version of the one or more video streams.
13 . The system of claim 11 , wherein the one or more processors are configured to execute further processor-executable instructions stored in the non-transitory computer-readable medium to:
determine a selection of a second plurality of video streams of the virtual conference;
generate an up-next queue based on the second plurality of video streams; and
after a predetermined elapsed time, replace a first video stream of the subset of the plurality of video streams in the real-time video rendering with a second video stream from the up-next queue.
14 . The system of claim 11 , wherein the one or more processors are configured to execute further processor-executable instructions stored in the non-transitory computer-readable medium to:
identify one or more video streams from the plurality of video streams to exclude from the real-time video rendering; and
exclude the identified one or more video streams from the subset of the plurality of video streams from the real-time video rendering.
15 . The system of claim 14 , wherein the one or more processors are configured to execute further processor-executable instructions stored in the non-transitory computer-readable medium to identify a video stream having an undesirable characteristic, the undesirable characteristic comprising no detected face, an inattentive participant, a resolution below a predetermined threshold, or a connection quality below a predetermined network threshold.
16 . The system of claim 11 , wherein the one or more processors are configured to execute further processor-executable instructions stored in the non-transitory computer-readable medium to:
receive a selection of a video stream of the subset of the plurality of video streams;
receive an input to block the video stream; and
remove the video stream from the subset of the plurality of video streams.
17 . The system of claim 11 , wherein the one or more processors are configured to execute further processor-executable instructions stored in the non-transitory computer-readable medium to:
receive, during the corresponding video conference, a modification of one or more of the one or more display configuration selections;
update the real-time video rendering based on the modification; and
provide, to the one or more video conference displays, the subset of plurality of video streams according to the updated real-time video rendering.
18 . The system of claim 11 , wherein the one or more processors are configured to execute further processor-executable instructions stored in the non-transitory computer-readable medium to select, using a trained AI model, the subset of the plurality of video streams.
19 . A non-transitory computer-readable medium comprising processor-executable instructions configured to cause one or more processors to:
receive, by a display management device, one or more display configuration selections for one or more corresponding video conference displays positioned in a hybrid conference location, the hybrid conference location providing a real-world space associated with a corresponding virtual conference hosted by a virtual conference provider;
access, by the display management device, the corresponding virtual conference via the virtual conference provider;
request, by the display management device, a plurality of video streams of the virtual conference from the virtual conference provider, each video stream corresponding to a virtual participant, the display management device not corresponding to any virtual participant;
generate, for each video conference display of the one or more video conference displays, a real-time video rendering of a respective subset of the plurality of video streams according to the one or more display configurations; and
provide, to the one or more video conference displays, the respective real-time video rendering.
20 . The non-transitory computer-readable medium of claim 19 , further comprising processor-executable instructions configured to cause the one or more processors:
determine a selection of a second plurality of video streams of the virtual conference;
generate an up-next queue based on the second plurality of video streams; and
after a predetermined elapsed time, replace a first video stream of the subset of the plurality of video streams in the real-time video rendering with a second video stream from the up-next queue.