GStreamer Motion Detection Bin Element

From RidgeRun Developer Wiki



Previous: GStreamer Plugins/Motion Overlay Index Next: GStreamer_Plugins/Motion_Metas






The GStreamer element is called "rrmotiondetectionbin". This element performs the motion detection, noise reduction and blob detection stages in one simple element/bin. It is very useful if you don't want to separate the different stages described in the Overview section.


Main Properties

  • cuda-blob-detection: Use blob detection algorithm (in charge of detecting the motion bounding boxes) implemented in cuda (Blob Detector GPU) otherwise use cpu blob detection. By default it is false.
  • grayscale: When enabled, the motion detection is performed over a grayscale image (color dropped). By default it is true.


Access Child Properties

Through the bin you are capable to access and control its internal elements configuration using the following notation:

 <element name>::<property name>

The element name corresponds to the name given to the element internally by the bin. For your convenience here is the list of the rrmotiondetectionbin main internal element's names:

  • motion_detector of type rrmotiondetection
  • motion_denoiser of type rrnoisereduction
  • blob_detector that can be of type rrblobdetector or rrcudablobdetector depending of the cuda-blob-detection property.

For instance if you want to change the motion detector algorithm you can set the property motion as follows:

rrmotiondetectionbin motion_detector::motion=mog2

On the hand, if you can to change the kernel size of the motion reduction element you can do it as follows:

rrmotiondetectionbin motion_denoiser::size=5

Please refer to the GStreamer Pipelines section for more examples of child properties in use

Capabilities

This section overviews the Motion Detection Bin input and output capabilities.

Below is the full output of the gst-inspect-1.0 command:


Factory Details:
  Rank                     none (0)
  Long-name                Motion Detection Bin
  Klass                    Filter/Video
  Description              Detects motion blobs
  Author                   Melissa Montero <melissa.montero@ridgerun.com>

Plugin Details:
  Name                     rrmotiondetection
  Description              Motion detection components based on OpenCV
  Filename                 /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstrrmotiondetection.so
  Version                  0.1.1
  License                  Proprietary
  Source module            gstrrmotiondetection
  Binary package           gstrrmotiondetection
  Origin URL               www.ridgerun.com

GObject
 +----GInitiallyUnowned
       +----GstObject
             +----GstElement
                   +----GstBin
                         +----GstRrMotionDetectionBin

Implemented Interfaces:
  GstChildProxy

Pad Templates:
  SINK template: 'sink'
    Availability: Always
    Capabilities:
      video/x-raw
                 format: { (string)I420, (string)YV12, (string)YUY2, (string)UYVY, (string)AYUV, (string)VUYA, (string)RGBx, (string)BGRx, (string)xRGB, (string)xBGR, (string)RGBA, (string)BGRA, (string)ARGB, (string)ABGR, (string)RGB, (string)BGR, (string)Y41B, (string)Y42B, (string)YVYU, (string)Y444, (string)v210, (string)v216, (string)Y210, (string)Y410, (string)NV12, (string)NV21, (string)GRAY8, (string)GRAY16_BE, (string)GRAY16_LE, (string)v308, (string)RGB16, (string)BGR16, (string)RGB15, (string)BGR15, (string)UYVP, (string)A420, (string)RGB8P, (string)YUV9, (string)YVU9, (string)IYU1, (string)ARGB64, (string)AYUV64, (string)r210, (string)I420_10BE, (string)I420_10LE, (string)I422_10BE, (string)I422_10LE, (string)Y444_10BE, (string)Y444_10LE, (string)GBR, (string)GBR_10BE, (string)GBR_10LE, (string)NV16, (string)NV24, (string)NV12_64Z32, (string)A420_10BE, (string)A420_10LE, (string)A422_10BE, (string)A422_10LE, (string)A444_10BE, (string)A444_10LE, (string)NV61, (string)P010_10BE, (string)P010_10LE, (string)IYU2, (string)VYUY, (string)GBRA, (string)GBRA_10BE, (string)GBRA_10LE, (string)BGR10A2_LE, (string)GBR_12BE, (string)GBR_12LE, (string)GBRA_12BE, (string)GBRA_12LE, (string)I420_12BE, (string)I420_12LE, (string)I422_12BE, (string)I422_12LE, (string)Y444_12BE, (string)Y444_12LE, (string)GRAY10_LE32, (string)NV12_10LE32, (string)NV16_10LE32, (string)NV12_10LE40 }
                  width: [ 1, 2147483647 ]
                 height: [ 1, 2147483647 ]
              framerate: [ 0/1, 2147483647/1 ]
      video/x-raw(memory:NVMM)
                 format: { (string)I420, (string)I420_10LE, (string)P010_10LE, (string)I420_12LE, (string)UYVY, (string)YUY2, (string)YVYU, (string)NV12, (string)NV16, (string)NV24, (string)GRAY8, (string)BGRx, (string)RGBA, (string)Y42B }
                  width: [ 1, 2147483647 ]
                 height: [ 1, 2147483647 ]
              framerate: [ 0/1, 2147483647/1 ]
  
  SRC template: 'src'
    Availability: Always
    Capabilities:
      video/x-raw
                 format: { (string)I420, (string)YV12, (string)YUY2, (string)UYVY, (string)AYUV, (string)VUYA, (string)RGBx, (string)BGRx, (string)xRGB, (string)xBGR, (string)RGBA, (string)BGRA, (string)ARGB, (string)ABGR, (string)RGB, (string)BGR, (string)Y41B, (string)Y42B, (string)YVYU, (string)Y444, (string)v210, (string)v216, (string)Y210, (string)Y410, (string)NV12, (string)NV21, (string)GRAY8, (string)GRAY16_BE, (string)GRAY16_LE, (string)v308, (string)RGB16, (string)BGR16, (string)RGB15, (string)BGR15, (string)UYVP, (string)A420, (string)RGB8P, (string)YUV9, (string)YVU9, (string)IYU1, (string)ARGB64, (string)AYUV64, (string)r210, (string)I420_10BE, (string)I420_10LE, (string)I422_10BE, (string)I422_10LE, (string)Y444_10BE, (string)Y444_10LE, (string)GBR, (string)GBR_10BE, (string)GBR_10LE, (string)NV16, (string)NV24, (string)NV12_64Z32, (string)A420_10BE, (string)A420_10LE, (string)A422_10BE, (string)A422_10LE, (string)A444_10BE, (string)A444_10LE, (string)NV61, (string)P010_10BE, (string)P010_10LE, (string)IYU2, (string)VYUY, (string)GBRA, (string)GBRA_10BE, (string)GBRA_10LE, (string)BGR10A2_LE, (string)GBR_12BE, (string)GBR_12LE, (string)GBRA_12BE, (string)GBRA_12LE, (string)I420_12BE, (string)I420_12LE, (string)I422_12BE, (string)I422_12LE, (string)Y444_12BE, (string)Y444_12LE, (string)GRAY10_LE32, (string)NV12_10LE32, (string)NV16_10LE32, (string)NV12_10LE40 }
                  width: [ 1, 2147483647 ]
                 height: [ 1, 2147483647 ]
              framerate: [ 0/1, 2147483647/1 ]
      video/x-raw(memory:NVMM)
                 format: { (string)I420, (string)I420_10LE, (string)P010_10LE, (string)I420_12LE, (string)UYVY, (string)YUY2, (string)YVYU, (string)NV12, (string)NV16, (string)NV24, (string)GRAY8, (string)BGRx, (string)RGBA, (string)Y42B }
                  width: [ 1, 2147483647 ]
                 height: [ 1, 2147483647 ]
              framerate: [ 0/1, 2147483647/1 ]

Element has no clocking capabilities.
Element has no URI handling capabilities.

Pads:
  SINK: 'sink'
  SRC: 'src'
    Pad Template: 'src'

Element Properties:
  async-handling      : The bin will handle Asynchronous state changes
                        flags: readable, writable
                        Boolean. Default: false
  cuda-blob-detection : Use blob detection algorithm (in charge of detecting the motion bounding boxes) implemented in cuda otherwise use cpu blob detection
                        flags: readable, writable
                        Boolean. Default: false
  grayscale           : When enabled, the motion detection is performed over a grayscaleimage (color dropped)
                        flags: readable, writable
                        Boolean. Default: true
  message-forward     : Forwards all children messages
                        flags: readable, writable
                        Boolean. Default: false
  name                : The name of the object
                        flags: readable, writable
                        String. Default: "rrmotiondetectionbin0"
  parent              : The parent of the object
                        flags: readable, writable
                        Object of type "GstObject"


Previous: GStreamer Plugins/Motion Overlay Index Next: GStreamer_Plugins/Motion_Metas