STREAMING NETWORK TOPOLOGY
A computer implemented method includes initiating, by at least one processor within a computing environment, operation of a virtual camera and an SFU; receiving, by the SFU, a plurality of audio streams from a plurality of remote devices; communicating, by the SFU, the plurality of audio streams to the virtual camera; receiving, by the virtual camera, the plurality of audio streams from the SFU; mixing, by the virtual camera, the plurality of audio streams into a single audio stream; communicating, by the virtual camera, the single audio stream to a physical image capture device; and receiving, by the virtual camera, an audiovisual stream from the physical image capture device.
1 . A method comprising:
initiating, by at least one processor, operation of a virtual camera within a computing environment;
receiving, by the virtual camera, a plurality of audio streams originating from a plurality of remote devices;
mixing, by the virtual camera, the plurality of audio streams into a single audio stream; and
communicating, by the virtual camera, the single audio stream to a physical image capture device at a remote location.
2 . The method of claim 1 , further comprising:
initiating operation of a selective forwarding unit (SFU) within the computing environment;
receiving, by the SFU, the plurality of audio streams originating from the plurality of remote devices; and
communicating, by the SFU, the plurality of audio streams to the virtual camera, wherein receiving, by the virtual camera, the plurality of audio streams includes receiving, by the virtual camera, the plurality of audio streams from the SFU.
3 . The method of claim 2 , further comprising:
receiving, by the at least one processor, a request to establish a communication session between the physical image capture device and at least one remote device of the plurality of remote devices, wherein initiating operation of the virtual camera and the SFU comprises initiating operation of the virtual camera and the SFU in response to receiving the request.
4 . The method of claim 2 , wherein:
the plurality of audio streams comprises a plurality of audio tracks; and
mixing, by the virtual camera, the plurality of audio streams into a single audio stream comprises
implementing an audio processing pipeline comprising a mixer,
generating a muted audio track,
communicating the muted audio track to the mixer, and
communicating the plurality of audio tracks to the mixer subsequent to communication of the muted audio track to the mixer.
5 . The method of claim 2 , further comprising receiving, by the virtual camera, an audiovisual stream from the physical image capture device.
6 . The method of claim 5 , further comprising:
communicating, by the virtual camera, an audiovisual stream to the SFU;
receiving, by the SFU, the audiovisual stream from the virtual camera; and
communicating, by the SFU, the audiovisual stream to the plurality of remote devices.
7 . The method of claim 6 , wherein:
receiving the plurality of audio streams comprises receiving a first plurality of real-time protocol (RTP) packets;
communicating the single audio stream comprises communicating a second plurality of RTP packets; and
receiving the audiovisual stream comprises receiving a third plurality of RTP packets.
8 . The method of claim 5 , further comprising:
establishing, by the SFU, a virtual room; and
joining, by the virtual camera, the virtual room on behalf of the physical image capture device.
9 . The method of claim 8 , further comprising:
acquiring, by the physical image capture device, the audiovisual stream;
transmitting, by the physical image capture device, the audiovisual stream to the virtual camera;
receiving, by the physical image capture device, the single audio stream; and
rendering, by the physical image capture device, the single audio stream as audio.
10 . The method of claim 9 , further comprising:
joining, by at least one remote device of the plurality of remote devices, the virtual room;
acquiring, by the at least one remote device of the plurality of remote devices, at least one audio stream from the plurality of audio streams;
transmitting, by the at least one remote device of the plurality of remote devices, the at least one audio stream to the virtual room;
receiving, by the at least one remote device of the plurality of remote devices, at least one other audio stream from the plurality of audio streams;
receiving, by the at least one remote device of the plurality of remote devices, the audiovisual stream;
mixing, by the at least one remote device of the plurality of remote devices, audio tracks encapsulated within the at least one other audio stream and the audiovisual stream to generate a mixed track; and
rendering, by the at least one remote device of the plurality of remote devices, the mixed track in lip synchrony with video encapsulated within the audiovisual stream.
11 . The method of claim 10 , further comprising hosting, by one or more computing devices of the plurality of remote devices, one or more of a customer interface or a monitor interface.
12 . The method of claim 11 , wherein communicating the single audio stream comprises communicating the single audio stream to a security camera.
13 . A system comprising:
a computing environment comprising
at least one network interface, and
at least one processor coupled with the at least one network interface and configured to
initiate operation of a virtual camera configured to
receive a plurality of audio streams,
mix the plurality of audio streams into a single audio stream, and
communicate the single audio stream to a physical image capture device.
14 . The system of claim 13 , wherein the at least one processor is further configured to initiate operation of a selective forwarding unit (SFU) configured to:
receive the plurality of audio streams originating from the plurality of remote devices; and
communicate the plurality of audio streams to the virtual camera, wherein to receive, by the virtual camera, the plurality of audio streams includes to receive, by the virtual camera, the plurality of audio streams from the SFU.
15 . The system of claim 14 , wherein the virtual camera is further configured to:
receive an audiovisual stream from the physical image capture device; and
communicate the audiovisual stream to the SFU.
16 . The system of claim 15 , wherein the SFU is configured to:
receive the audiovisual stream from the virtual camera,
communicate the audiovisual stream to a plurality of remote devices,
receive the plurality of audio streams from the plurality of remote devices, and
communicate the plurality of audio streams to the virtual camera.
17 . The system of claim 15 , wherein individual streams of the plurality of audio streams, the single audio stream, and the audiovisual stream comprise real-time protocol (RTP) packets.
18 . The system of claim 15 , wherein:
the SFU is further configured to establish a virtual room; and
the virtual camera is configured to join the virtual room on behalf of the physical image capture device.
19 . The system of claim 18 , further comprising the physical image capture device, wherein the physical image capture device is configured to:
acquire the audiovisual stream;
transmit the audiovisual stream to the virtual camera;
receive the single audio stream; and
render the single audio stream as audio.
20 . The system of claim 19 , further comprising the plurality of remote devices, at least one remote device of the plurality of remote devices being configured to:
join the virtual room;
acquire at least one audio stream from the plurality of audio streams;
transmit the at least one audio stream to the virtual room;
receive at least one other audio stream from the plurality of audio streams;
receive the audiovisual stream;
mix audio tracks encapsulated within the at least one other audio stream and the audiovisual stream to generate a mixed track; and
render the mixed track in lip synchrony with video encapsulated within the audiovisual stream.
21 . The system of claim 14 , wherein the at least one processor is configured to initiate operation of the virtual camera and the SFU in response to reception of a request to establish a communication session between the physical image capture device and at least one remote device of the plurality of remote devices.
22 . The system of claim 14 , wherein:
the plurality of audio streams comprises a plurality of audio tracks; and
to mix the plurality of audio streams comprises to
implement an audio processing pipeline comprising a mixer;
generate a muted audio track;
communicate the muted audio track to the mixer; and
communicate the plurality of audio tracks to the mixer subsequent to communication of the muted audio track to the mixer.