> 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 Demux

The **ZED Demux**, `zeddemux` GStreamer element, allows separation of a single ZED composite stream (RGB Left + RGB Right, or RGB Left + Depth) and creates two separate streams. A third stream is created for metadata if requested.

The `zeddemux` creates the following source pads:

* `src_left`: left color camera stream (stereo mode only)
* `src_aux`: right color camera stream or 16-bit depth stream, depending on the `is-depth` property (stereo mode only)
* `src_mono`: monocular color camera stream, used instead of `src_left`/`src_aux` when the `is-mono` property is enabled
* `src_data`: metadata stream (see `stream-data` property)

> **Note**
>
> All four source pads always exist, but only a subset carries buffers: with `is-mono=false` (the default) data flows on `src_left` and `src_aux`, while with `is-mono=true` data flows on `src_mono` only. The `src_data` pad carries data in both modes when `stream-data=true`.

## Properties

```bash
  is-depth            : Aux source is GRAY16 depth
                        flags: readable, writable
                        Boolean. Default: false
  is-mono             : Demux is applied to ZED X One monocular stream from zedxonesrc
                        flags: readable, writable
                        Boolean. Default: false
  name                : The name of the object
                        flags: readable, writable, 0x2000
                        String. Default: "zeddemux0"
  parent              : The parent of the object
                        flags: readable, writable, 0x2000
                        Object of type "GstObject"
  stream-data         : Enable binary data streaming on `src_data` pad
                        flags: readable, writable
                        Boolean. Default: false
```

## Example pipelines

### Split the stereo couple and display single streams

The following is a simple pipeline to display on the screen the Left and Right color streams in two different windows:

```bash
gst-launch-1.0 zedsrc stream-type=2 ! zeddemux is-depth=false is-mono=false name=demux \
 demux.src_left ! queue ! autovideoconvert ! fpsdisplaysink \
 demux.src_aux ! queue ! autovideoconvert ! fpsdisplaysink
```

![Pipeline graph: zedsrc to zeddemux, whose src\_left and src\_aux pads each feed a queue, autovideoconvert and fpsdisplaysink](/_fern-files/stereolabs.docs.buildwithfern.com/c116a09072d0f083396685e3838409d954a87e12acc2d63b81fcf4f9df009d01/docs/software-integration/gstreamer/images/demux_pipeline.svg)

### Split the RGB/Depth synchronized stream and display single streams

The same pipeline as the previous example can be used to display the left camera stream and the Depth stream in separate windows by selecting `stream-type=4` on `zedsrc` and `is-depth=true` on `zeddemux`.

```bash
gst-launch-1.0 zedsrc stream-type=4 ! zeddemux is-depth=true name=demux \
 demux.src_left ! queue ! autovideoconvert ! fpsdisplaysink \
 demux.src_aux ! queue ! autovideoconvert ! fpsdisplaysink
```

![Pipeline graph: zedsrc to zeddemux, whose src\_left and src\_aux pads each feed a queue, autovideoconvert and fpsdisplaysink](/_fern-files/stereolabs.docs.buildwithfern.com/c116a09072d0f083396685e3838409d954a87e12acc2d63b81fcf4f9df009d01/docs/software-integration/gstreamer/images/demux_pipeline.svg)

> **Note**
>
> `is-depth=true` is required whenever the composite stream carries depth on its lower half, i.e. with `stream-type=4`. The `zedsrc` element packs the depth values as 32-bit distances in millimeters, and `zeddemux` converts them to a `GRAY16_LE` depth map on `src_aux` only when `is-depth` is enabled. With the default `is-depth=false`, the lower half is forwarded untouched as `BGRA` and the resulting image is not a usable depth map.

For an example of how to use the `stream-data` option please refer to the documentation of the [`zeddatacsvsink` element](/docs/integrations/gstreamer/zed-data-csv-sink#example-pipelines)