# gst-video-analytics
**Repository Path**: simonxing/gst-video-analytics
## Basic Information
- **Project Name**: gst-video-analytics
- **Description**: 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.
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-01-06
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# GStreamer Video Analytics (GVA) Plugin
## Overview
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:
```sh
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 ! xvimagesink 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](https://github.com/GStreamer/gstreamer-vaapi)
In addition, the solution installs the following Deep Learning-specific elements, also available in this repository:
* Inference plugins leveraging [OpenVINO™ Toolkit](https://software.intel.com/en-us/openvino-toolkit) 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
## License
The GStreamer Video Analytics Plugin is licensed under the [MIT license](LICENSE).
## Prerequisites
### Hardware
* OpenVINO™ Toolkit has information about the [hardware requirements for inference elements](https://software.intel.com/en-us/openvino-toolkit/hardware)
* On platforms with Intel Gen graphics, see the gstreamer-vaapi for [hardware accelerated video decode and encode requirements](https://github.com/GStreamer/gstreamer-vaapi)
### Software
* OpenVINO™ Toolkit 2019 R2 (Inference Engine 2.0.0) or above
* Linux* system with kernel 4.15 or above
* GStreamer framework 1.14 or above
## Getting Started
* Start here: [Getting Started Guide](https://github.com/opencv/gst-video-analytics/wiki/Getting-Started-Guide-%5Bdevelop%5D)
* [API reference](https://opencv.github.io/gst-video-analytics/)
## Samples
See the [command-line examples](samples/shell) and [C++ example](samples/cpp/face_attributes)
## Reporting Bugs and Feature Requests
Report bugs and requests [on the issues page](https://github.com/opencv/gst-video-analytics/issues)
## Usage and integration into application
### Pipelining and data flow
[Details](https://github.com/opencv/gst-video-analytics/wiki/Data-flow) about pipeline construction and the data flow between pipeline elements
### Metadata
[Details](https://github.com/opencv/gst-video-analytics/wiki/Metadata) about metadata generated by inference plugins and attached to video frames
### Model preparation
[Details](https://github.com/opencv/gst-video-analytics/wiki/Model-preparation) about how to prepare Tensorflow*, Caffe*, and other models for the inference plugins
### Plugins parameters
[Elements list](https://github.com/opencv/gst-video-analytics/wiki/Elements) 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](https://github.com/opencv/gst-video-analytics/issues).
---
\* Other names and brands may be claimed as the property of others.