Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.



  • Started. 2020-04-14


  • Drafted. 2020-04-27


NNStreamer: Efficient and flexible stream pipeline framework for complex neural network applications




NNStreamer, a Linux Foundation AI Foundation open source project, is an efficient and flexible stream pipeline framework for complex neural network applications, which was developed and open-sourced by Samsung.


NNStreamer's official binary releases include supports for Tizen, Ubuntu, Android, macOS, and Yocto/OpenEmbedded; however, as long as the target system supports Gstreamer, it should be compatible with NNStreamer as well. We provide APIs in C, Java, and .NET in case GStreamer APIs are overkill. NNStreamer APIs are the standard Machine Learning APIs of Tizen and various Samsung products as well.

(( designers may need to retouch/redraw the diagram. ))

Open Source

Open Source

NNStreamer was open-sourced in 2018 on GitHub, It is actively developed since then and has a few sub projects. NNStreamer has joined LF AI Foundation in April 2020.

We invite you to visit the GitHub where NNStreamer and its sub projects are developed. Please join our community as a user and contributor. Your contribution is always welcomed!

Get Started

Get Started

Ubuntu (16.04/18.04)

  • sudo add-apt-repository ppa:nnstreamer/ppa
  • sudo apt-get update
  • sudo apt-get install nnstreamer nnstreamer-caffe2 nnstreamer-tensorflow nnstreamer-tensorflow-lite#

Now, you are ready to use nnstreamer as GStreamer plugins! 

In Tizen 5.5 or higher

Use , use Machine-Learning Inference APIs (Native / .NET) to use NNStreamer in TIzen applications.


Use JCenter repository to use NNStreamer in Android Studio. 


/OpenEmbedded's meta-neural-network layer has NNStreamer included.


McOS users may install NNStreamer via Brew taps or build NNStreamer for their own systems.


In general, you may build NNStreamer in any GStreamer-compatible systems.

Usage Examples

Image RemovedImage Added

Applications of these screenshots require very short lines of code (click screenshots to look at) and run efficiently in inexpensive embedded devices. They can even be implemented as single-line bash shell scripts with NNStreamer.

Example applications are located at GitHub, nnstreamer-example.git and the Wiki page.


Join the Conversation

NNStreamer maintains three mailing lists. You are invited to join the one that best meets your interest.

NNStreamer-Announce: Top-level milestone messages and announcements

NNStreamer-Technical-Discuss: Technical discussions

NNStreamer-TSC: Technical governance discussions