Skip to content

Videoconferencing Mode

Milos Liska edited this page Mar 6, 2017 · 18 revisions

UltraGrid allows for multipoint video and audio distribution in a videoconferencing mode. In such a case UltraGrid acts as a mixer. As for the video UltraGrid scales and composes the incoming video streams in a specified layout and sends the resulting video stream to given hosts or IPs. It is possible to specify different video compressions and stream parameters for individual target hosts in the same way as with the reflector (see Reflector settings for reference).

Audio is mixed using linear (or logarithmic) audio mixer and the audio is sent back to all source hosts. For each host its own source audio is omitted from the resulting audio mix.

Video Mixer

To start the video mixer run:

hd-rum-transcode --conference <width>:<height>:<fps> 8M 5004 <host1_opts> <host1> <host2_opts> <host2> ... <hostn_opts> <hostn>

Sample usage is:

hd-rum-transcode -conference 1920:1080:30 8M 5004  -c libavcodec:codec=H.264 receiver1 receiver2 -c JPEG receiver3

Audio Mixer

To start the audio mixer run:

uv -r mixer:algo=linear

The general usage of the audio mixer is as follows:

bin/uv -r mixer[:codec=<codec>][:algo={linear|logarithmic}]

<codec>
	audio codec to use
linear
	linear sum of signals (with clamping)
logarithmic
	linear sum of signals to threshold, above threshold logarithmic dynamic range compression is used

Notes:

  1. You do not need to specify audio participants explicitly, UltraGrid simply sends the the stream back to the host that is sending to mixer. Therefore it is necessary that the participant uses single UltraGrid for both sending and receiving audio.
  2. Uses default port for receiving, therefore if you want to use it on machine that is a part of the conference, you should use something like: bin/uv -s <your_capture> -P 5004:5004:5010:5006 for the UltraGrid instance that is part of the conference (not the mixer!)
Clone this wiki locally