Skip to content
This repository contains a collection of GStreamer* elements to enable CNN model based video analytics capabilities (such as object detection, classification, recognition) in GStreamer* framework.
Branch: master
Clone or download
ddeuerme and umed Update (#14)
Updated grammar, spelling, order of content for readability, in preparation for Josh Ekandem's upcoming DXA studies.
Latest commit 364e1d7 Jun 15, 2019

GStreamer Video Analytics (GVA) Plugin


This repository contains GStreamer elements that enable CNN model-based video analytics capabilities in the GStreamer framework. These elements include such things as object detection, classification, and recognition. Example above shows concise GStreamer pipeline that runs detection & emotion classification, using specific models on a video file:

gst-launch-1.0 filesrc location=cut.mp4 ! decodebin ! videoconvert ! gvadetect model=face-detection-adas-0001.xml ! gvaclassify model=emotions-recognition-retail-0003.xml model-proc=emotions-recognition-retail-0003.json ! gvawatermark ! ximagesink sync=false

The solution leverages:

  • Open-source GStreamer framework for pipeline management
  • GStreamer plugins for input and output, such as media files and real-time streaming from a camera or network
  • Video decode and encode plugins, including either CPU-optimized plugins or GPU-accelerated plugins, based on VAAPI

In addition, the solution installs the following Deep Learning-specific elements, also available in this repository:

  • Inference plugins leveraging Intel OpenVINO for high-performance inference using CNN models
  • Visualization of computer vision results (such as bounding boxes and labels of detected objects) on top of video stream

The following diagram shows how the GVA plugin fits into the common software stack.

Diagram color key:

  • GVA plugin components: light blue
  • Oher Intel components: dark blue
  • Standard GStreamer components: gray
  • Linux kernel: green


The GStreamer Video Analytics Plugin is licensed under the MIT license.




  • Intel(R) OpenVINO(TM) toolkit 2019 R1 (Inference Engine 1.6.0) or above
  • Linux* system with kernel 4.15 or above
  • GStreamer framework 1.14 or above

Getting Started


See the command-line examples and C++ example

Reporting Bugs and Feature Requests

Report bugs and requests on the issues page

Usage and integration into application

Pipelining and data flow

Details about pipeline construction and the data flow between pipeline elements


Details about metadata generated by inference plugins and attached to video frames

Model preparation

Details about how to prepare Tensorflow*, Caffe*, and other models for the inference plugins

Plugins parameters

Elements list and properties list for each element

How to contribute

Pull requests aren't monitored, so if you have bug fix or an idea to improve this project, post a description on the issues page.

* Other names and brands may be claimed as the property of others.

You can’t perform that action at this time.