Stream the contents of an AV file over NDI
Develop a lightweight tool for streaming NDI from a linux environment.
This application has only been built and tested using gentoo. Porting to other distros would be trivial
Your basic set of requirements are as follows:
- C/C++ Compiler(GCC/G++ by default)
- cmake (With make preferred)
- ffmpeg dev libraries
- NDI SDK (https://ndi.video/download-ndi-sdk/) . My CMake script expects you to install this in /opt/ndi
- avahi client development libraries (NDI uses mdns)
You might need to manually acquire more dependencies depending on your system configuration. Refer to the build system output.
Release Build
mkdir build && cd build
cmake .. && make
Debug Build
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Debug .. && make
This will generate the executable in your build directory
./ndistreamer
-i /path/to/your/media.mp4
-s "NDI Source Name"
-t [software, cuda, vaapi]
These tests are minimal and incomplete. It is on my todo list to create a better testing system. Build the version of the software you want, as shown above, then navigate into your build directory
cd build
Then run the automated tests
ctest
Make sure you have installed the NDI SDK in your /opt/ndi directory
Make sure you have the avahi service daemon running on your host machine
Make sure you build FFmpeg with the proper vaapi and/or cuda support