-
Notifications
You must be signed in to change notification settings - Fork 59
Multipoint Setup
UltraGrid itself is well suitable for point-to-point transmissions. However, it is possible to emulate a multi-point operation among few parties (let say 3 or 4). For more sides it is impractical because below described setup uses a '''full-mesh''' topology. For more parties please check Videoconferencing Mode. This mode can be used also for lesser amount of sides (those 3 or 4) to simplify the setup but may induce additional latency.
UltraGrid itself is point-to-point. So the main idea is the use of reflectors. The packet reflector works in a simple way - it listens to UDP packets on one port and transmits them to multiple hosts.
UltraGrid uses by default UDP ports 5004 (video) and 5006 (audio; offset is implicitly video+2). In order to use a full mesh, it is required to use different port numbers for streams going from different sites.
So, finally, every site has these processes running:
- sending UltraGrid (audio and video)
- reflector for video
- reflector for audio
- receivers for every other side
---------- / B
- A - --6000--> vreflector - C
- - --6002--> areflector - B
---------- \ C
Assuming 3 hosts A, B and C and further port assignment:
- A/V streams from A - ports 6000 and 6002
- A/V streams from B - ports 6100 and 6102
- A/V streams from C - ports 6200 and 6202
If done so, use following commands on host A. The setup for the others would by symmetrical. Assuming the use of hd-rum-multi reflector (you may also use hd-rum, doesn't work on MSW):
uv -t <vcapture> -s <acapture> -c <vcompress> -P 6000 localhost
hd-rum-transcode 8M 6000 B C
hd-rum-transcode 8M 6002 B C
uv -d gl -r alsa -P 6100 # receiver for B
uv -d gl -r alsa -P 6200 # receiver for C
If you have any technical or non-technical question or suggestion please feel free to contact us at