> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.stereolabs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.stereolabs.com/_mcp/server.

# GStreamer - ZED Object Detection Overlay

The **ZED Object Detection Overlay**, `zedodoverlay` GStreamer element, is a transform filter that allows drawing object detection bounding boxes on a ZED left color video stream. The incoming data stream must contain [ZED Metadata](/docs/integrations/gstreamer/zed-metadata/). You can use the [`zeddatamux` element](/docs/integrations/gstreamer/zed-datamux/) to add back metadata to a ZED video stream in case a GStreamer filter removes them.

![OD Multi class overlay road](https://cdn.sanity.io/images/s18ewfw4/production/5ac475ae0cac3d3bc051a842653c62531a237074-1871x981.webp)

The [source code](https://github.com/stereolabs/zed-gstreamer/tree/master/gst-zed-od-overlay) of this plugin is a complete example of how to process the ZED metadata in a GStreamer element to retrieve object detection data.

## Properties

The element defines no specific property. `gst-inspect-1.0 zedodoverlay` reports the `qos` property inherited from `GstBaseTransform`, plus the `name` and `parent` properties inherited from `GstObject`:

```bash
  name                : The name of the object
                        flags: readable, writable, 0x2000
                        String. Default: "zedodoverlay0"
  parent              : The parent of the object
                        flags: readable, writable, 0x2000
                        Object of type "GstObject"
  qos                 : Handle Quality-of-Service events
                        flags: readable, writable
                        Boolean. Default: false
```

## Example pipelines

### Display Object Detection bounding boxes

The following is a pipeline to acquire a stream at 720p resolution with RGB and MULTI CLASS Object Detection information and display the results on screen:

```bash
gst-launch-1.0 zedsrc stream-type=0 od-enabled=true od-detection-model=0 camera-resolution=3 camera-fps=30 ! queue ! \
zedodoverlay ! queue ! autovideoconvert ! fpsdisplaysink
```

![Pipeline graph: zedsrc to queue, zedodoverlay, queue, autovideoconvert and fpsdisplaysink](/_fern-files/stereolabs.docs.buildwithfern.com/e5b6059ccd5ca4a8a62c1e4653396da18a8a197558a5f08db03f75355fdb746d/docs/software-integration/gstreamer/images/od_overlay_pipeline.svg)

![OD Multi class overlay bridge](https://cdn.sanity.io/images/s18ewfw4/production/c84bc68aaa87148f5be3db0ee3c583b56ffad72b-1385x702.webp)

### Display Skeleton Tracking results

The same pipeline of the previous example can be used to display Skeleton Tracking results by enabling Body Tracking on the `zedsrc` element with `bt-enabled=true` and selecting the model with the `bt-detection-model` property (`2` is the ACCURATE model):

```bash
gst-launch-1.0 zedsrc stream-type=0 bt-enabled=true bt-detection-model=2 camera-resolution=3 camera-fps=30 ! queue ! \
zedodoverlay ! queue ! autovideoconvert ! fpsdisplaysink
```

![Pipeline graph: zedsrc to queue, zedodoverlay, queue, autovideoconvert and fpsdisplaysink](/_fern-files/stereolabs.docs.buildwithfern.com/e5b6059ccd5ca4a8a62c1e4653396da18a8a197558a5f08db03f75355fdb746d/docs/software-integration/gstreamer/images/od_overlay_pipeline.svg)

![OD Skeleton overlay](https://cdn.sanity.io/images/s18ewfw4/production/fb0ae81016145ca3380b0dfe0eb6901b6298e838-1383x702.webp)