Remote source nodes for NNStreamer pipelines without GStreamer dependencies
Developers may provide stream inputs to NNStreamer pipelines from remote nodes with nnstreamer-edge. NNStreamer-edge is designed not to depend on GStreamer and targets to be adopted by general RTOS as well.
If your system can afford running nnstreamer (gstreamer), don't use nnstreamer-edge. Use nnstreamer and gstreamer.
- This should not depend on glib, gstreamer, or nnstreamer
- This should not depend on other heavy-weighted libraries.
- This should be compatible not only with Linux, but also with RTOS and other OS; thus, this should try to stick with C basic libraries and POSIX libraries.
- However, it may leave empty spaces that can be filled with "wrapper/plugin" for the portability. E.g., I may get too lazy to write communication layers; then, I'll leave it to the users to write down their own communication plugins.
- This should not rely on Tizen, either. However, Tizen-RT might be considered as the primary target.
- Communication Layers includes:
- Primary Targets: TCP, User Plugins.
- Secondary Targets: Flatbuffers
- Note: This simple guide explains how to use NNStreamer-edge on the Ubuntu, but NNStreamer-edge is also available on Tizen, Android and TizenRT.
$ sudo add-apt-repository ppa:nnstreamer/ppa
$ sudo apt-get install nnstreamer-edge
# Download nnstreamer for sample application
(optional) $ sudo apt-get install nnstreamer
$ sudo apt-get install cmake systemctl build-essential pkg-config mosquitto-dev libmosquitto-dev libgtest-dev libgmock-dev
# Run MQTT broker
$ sudo systemctl start mosquitto
# cd $NNST_EDGE_ROOT
$ cmake -B build -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib -DENABLE_TEST=ON -DMQTT_SUPPORT=ON
$ make -C build install
# Run test
$ cd /usr/bin
$ ./unittest_nnstreamer-edge
$ ./unittest_nnstreamer-edge-mqtt
- Apache 2.0