XLinkOut node is used to send data from the device to the host via XLink.

How to place it

pipeline = dai.Pipeline()
xlinkOut = pipeline.create(dai.node.XLinkOut)
dai::Pipeline pipeline;
auto xlinkOut = pipeline.create<dai::node::XLinkOut>();

Inputs and Outputs

          │              │
input     │              │   (to host)
─────────►│   XLinkOut   ├------------►
          │              │
          │              │

Message types

  • input - Any


pipeline = dai.Pipeline()
xOut = pipeline.create(dai.node.XLinkOut)

# Here we will send camera preview (ImgFrame) to the host via XLink.
# Host can then display the frame to the user
dai::Pipeline pipeline;
auto xOut = pipeline.create<dai::node::XLinkOut>();

// Here we will send camera preview (ImgFrame) to the host via XLink.
// Host can then display the frame to the user


class depthai.node.XLinkOut
class Id

Node identificator. Unique for every node on a single Pipeline

getAssetManager(*args, **kwargs)

Overloaded function.

  1. getAssetManager(self: depthai.Node) -> depthai.AssetManager

  2. getAssetManager(self: depthai.Node) -> depthai.AssetManager

getFpsLimit(self: depthai.node.XLinkOut)float
getInputRefs(*args, **kwargs)

Overloaded function.

  1. getInputRefs(self: depthai.Node) -> List[depthai.Node.Input]

  2. getInputRefs(self: depthai.Node) -> List[depthai.Node.Input]

getInputs(self: depthai.Node) → List[depthai.Node.Input]
getMetadataOnly(self: depthai.node.XLinkOut)bool
getName(self: depthai.Node)str
getOutputRefs(*args, **kwargs)

Overloaded function.

  1. getOutputRefs(self: depthai.Node) -> List[depthai.Node.Output]

  2. getOutputRefs(self: depthai.Node) -> List[depthai.Node.Output]

getOutputs(self: depthai.Node) → List[depthai.Node.Output]
getParentPipeline(*args, **kwargs)

Overloaded function.

  1. getParentPipeline(self: depthai.Node) -> depthai.Pipeline

  2. getParentPipeline(self: depthai.Node) -> depthai.Pipeline

getStreamName(self: depthai.node.XLinkOut)str
setFpsLimit(self: depthai.node.XLinkOut, fpsLimit: float)None
setMetadataOnly(self: depthai.node.XLinkOut, arg0: bool)None
setStreamName(self: depthai.node.XLinkOut, streamName: str)None
class dai::node::XLinkOut : public dai::NodeCRTP<Node, XLinkOut, XLinkOutProperties>

XLinkOut node. Sends messages over XLink.

Public Functions

XLinkOut(const std::shared_ptr<PipelineImpl> &par, int64_t nodeId)
XLinkOut(const std::shared_ptr<PipelineImpl> &par, int64_t nodeId, std::unique_ptr<Properties> props)
void setStreamName(const std::string &name)

Specifies XLink stream name to use.

The name should not start with double underscores ‘__’, as those are reserved for internal use.

  • name: Stream name

void setFpsLimit(float fps)

Specifies a message sending limit. It’s approximated from specified rate.

  • fps: Approximate rate limit in messages per second

void setMetadataOnly(bool metadataOnly)

Specify whether to transfer only messages attributes and not buffer data

std::string getStreamName() const

Get stream name.

float getFpsLimit() const

Get rate limit in messages per second.

bool getMetadataOnly() const

Get whether to transfer only messages attributes and not buffer data.

Public Members

Input input = {*this, "in", Input::Type::SReceiver, true, 8, true, {{DatatypeEnum::Buffer, true}}}

Input for any type of messages to be transferred over XLink stream

Default queue is blocking with size 8

Public Static Attributes

static constexpr const char *NAME = "XLinkOut"

Got questions?

Head over to Discussion Forum for technical support or any other questions you might have.