# qtismartvencbin
The qtismartvencbin plugin uses machine learning and computer vision to reduce the video bandwidth. It can be used for surveillance, where only the small image areas are in motion. The bitrate reduction can be configured according to the quality requirements.
The qtismartvencbin plugin implements the following:
- A GStreamer bin that has a video encoder and integrates computer vision APIs.
- The post-processed person-detection results from the machine learning pipeline.
**Figure : qtismartvencbin architecture**
The following tables provide information on pad templates and element properties of qtismartvencbin. For use cases, see [Smart codec](https://docs.qualcomm.com/doc/80-80021-50/topic/smart-codec.html).
## Pad configuration
| **Pad Name** | **Capabilities** | **Capabilities** | **Capabilities** |
| --- | --- | --- | --- |
|
SINK template: 'sink'
Availability: Always
Direction: sink
Availability: Always
Direction: sink
Availability: Always
Direction: sink
Availability: Always
Direction: sink
Availability: Always
Direction: sink
Availability: Always
Direction: sink
Availability: Always
Direction: sink
Availability: Always
Direction: sink
Availability: Always
Direction: sink
Availability: Always
Direction: sink
Availability: Always
Direction: sink
Availability: Always
Direction: sink
Availability: Always
Direction: sink
Availability: Always
Direction: sink
Availability: Always
Direction: sink
Availability: Always
Direction: sink
Availability: Always
Direction: sink
Availability: Always
Direction: source
flags: readable, writable
Boolean. Default: false
flags: readable, writable, changeable only in NULL or READY state
Unsigned Integer. Range: 0 - 4294967295 Default: 30
flags: readable, writable, changeable only in NULL or READY state
Enum "GstBinEncoderType" Default: 0, "c2enc"
(0): c2enc - Codec2 encoder.
(1): omxenc - OMX encoder.
(2): v4l2h264enc - V4L2 H264 encoder
(3): v4l2h265enc - V4L2 H265 encoder
flags: readable, writable
string. Default: null
flags: readable, writable, changeable only in NULL or READY state
Unsigned Integer. Range: 0 - 4294967295 Default: 6000000
flags: readable, writable, changeable only in NULL or READY state
Unsigned Integer. Range: 0 - 4294967295 Default: 600
flags: readable, writable
Boolean. Default: false
flags: readable, writable, 0x2000
String. Default: "videoencbin0"
flags: readable, writable, 0x2000
Object of type "GstObject"
flags: readable, writable
String. Default: null
flags: readable, writable, changeable only in NULL or READY state
Boolean. Default: true
flags: readable, writable, changeable only in NULL or READY state
Boolean. Default: true