---
name: "libpipewire-module-vban-recv"
section: "7"
platform: "linux"
package: "libpipewire"
version: "1:1.6.10-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/libpipewire-module-vban-recv"
---

# libpipewire-module-vban-recv(7)

VBAN receiver

## NAME

libpipewire-module-vban-recv - VBAN receiver

## DESCRIPTION

The vban-recv module creates a PipeWire source that receives audio and midi VBAN packets.

The receive will listen on a specific port (6980) and create a stream for each VBAN stream received on the port.

## MODULE NAME

libpipewire-module-vban-recv

## MODULE OPTIONS

Options specific to the behavior of this module

- •

  local.ifname = \<str\>: interface name to use

- •

  source.ip = \<str\>: the source ip address to listen on, default 127.0.0.1

- •

  source.port = \<int\>: the source port to listen on, default 6980

- •

  node.always-process = \<bool\>: true to receive even when not running

- •

  sess.latency.msec = \<str\>: target network latency in milliseconds, default 100

- •

  stream.props = {}: properties to be passed to all the stream

- •

  stream.rules = \<rules\>: match rules, use create-stream actions.

### stream.rules matches

- •

  vban.ip: the IP address of the VBAN sender

- •

  vban.port: the port of the VBAN sender

- •

  sess.name: the name of the VBAN stream

### stream.rules create-stream

In addition to all the properties that can be passed to a stream, you can also set:

- •

  sess.latency.msec = \<str\>: target network latency in milliseconds, default 100

## GENERAL OPTIONS

Options with well-known behavior:

- •

  **remote.name**

- •

  **audio.layout**

- •

  **audio.position**

- •

  **media.name**

- •

  **media.class**

- •

  **node.name**

- •

  **node.description**

- •

  **node.group**

- •

  **node.latency**

- •

  **node.virtual**

## EXAMPLE CONFIGURATION

```
# ~/.config/pipewire/pipewire.conf.d/my-vban-recv.conf
context.modules = [
{   name = libpipewire-module-vban-recv
    args = {
        #local.ifname = eth0
        #source.ip = 127.0.0.1
        #source.port = 6980
        sess.latency.msec = 100
        #node.always-process = false
        #audio.position = [ FL FR ]
        stream.props = {
           #media.class = "Audio/Source"
           #node.name = "vban-receiver"
        }
        stream.rules = [
            {   matches = [
                    {    sess.name = "~.*"
                         #sess.media = "audio" | "midi"
                         #vban.ip = ""
                         #vban.port = 1000
                         #audio.channels = 2
                         #audio.format = "U8" | "S16LE" | "S24LE" | "S32LE" | "F32LE" | "F64LE"
                         #audio.rate = 44100
                    }
                ]
                actions = {
                    create-stream = {
                        stream.props = {
                            #sess.latency.msec = 100
                            #target.object = ""
                            #audio.position = [ FL FR ]
                            #media.class = "Audio/Source"
                            #node.name = "vban-receiver"
                        }
                    }
                }
            }
        ]
    }
}
]
```

**Since**

0\.3.76
