# 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.