-
Notifications
You must be signed in to change notification settings - Fork 58
Syphon, Spout and NDI
Since UltraGrid version 1.7.2, binary builds include NDI®. NDI library is dynamically loaded, therefore you need to have the NDI runtime installed:
- macOS: http://new.tk/NDIRedistV5Apple
- Windows: http://new.tk/NDIRedistV5
- Linux - NewTek doesn't provide redistributable version so you need to download the SDK and follow the installation instructions bellow
Basic usage is simply:
uv -t ndi -c <compression> [-s embedded --audio-codec <ac>] <receiver>
The above command picks first source found on a local network and sends the data to the receiver.
You may also specify name and/or URL (either in form ip_addr or ip_addr:port, exact URL format may change with future NDI releases) to capture from, eg.:
uv -t "ndi:name=HD10 (DeckLink 4K Extreme)" -c JPEG ultragrid-receiver.example.net
uv -t ndi:url=192.0.2.15 -c JPEG ultragrid-receiver.example.net
uv -t ndi:url=192.0.2.15:5961 -c JPEG ultragrid-receiver.example.net
(Note that the apostrophes in the first command are because the resource name contains spaces.)
You can also let UltraGrid discover available sources on a local network:
uv -t ndi:help
(The list doesn't need to be complete - UltraGrid waits only limited amount of time to response.)
NDI video capture is capable of capturing video alongside with audio as usual:
uv -t ndi -s embedded -c libavcodec --audio-codec OPUS ultragrid-receiver.example.net
If the NDI source is audio only, it is possible to capture the audio with the NDI vidcap module even in the absence of video signal:
uv -t ndi:name=mic -s embedded --audio-codec OPUS ultragrid-receiver.example.net # if "mic" is audio only NDI source, no video is sent
Basic usage is quite usual:
uv -d ndi[:name=<n>] [-r embedded] <sender>
Analogically to the capture, the NDI display can also playback the audio without a video.
Installation steps:
-
download and extract the installer:
tar xaf Install_NDI_SDK_v5_Linux.tar.gz
-
install the NDI
./Install_NDI_SDK_v5_Linux.sh
-
this creates directory
"NDI SDK for Linux"
directory in current path -
make the contained library
libndi.so.5
visible to UltraGrid, this can be done in two ways:-
copy (as root) libraries to
/usr/local/lib
:cp -a NDI\ SDK\ for\ Linux/lib/x86_64-linux-gnu/lib/* /usr/local/lib
-
or export path to the library before running UG (or to system environment):
export NDI_RUNTIME_DIR_V5=<NDI_SDK_root>/lib/x86_64-linux-gnu/lib/ ./UltraGrid*AppImage [...]
-
Currently there is only Spout server support.
Use following command to create Spout sender:
uv -d gl:spout
Similarly to Syphon, you can specify server name:
uv -d gl:spout=<name>
Syphon support is added to UltraGrid OpenGL display. You can run it with following command:
uv -d gl:syphon
Alternatively, you can specify server name (instead of default UltraGrid):
uv -d gl:syphon=<another_name>
Syphon clinet can be simply run as a normal capturer:
uv -t syphon -c <compression> <receiver_addr>
[1] NDI® is a registered trademark of NewTek, Inc.
[2] NDI® is available at http://ndi.tv/
If you have any technical or non-technical question or suggestion please feel free to contact us at