Manpage logo

libpipewire-module-rtp-sink - RTP sink

NAME  DESCRIPTION  MODULE NAME  MODULE OPTIONS  GENERAL OPTIONS  EXAMPLE CONFIGURATION 

NAME

libpipewire-module-rtp-sink − RTP sink

DESCRIPTION

The rtp-sink module creates a PipeWire sink that sends audio RTP packets.

MODULE NAME

libpipewire-module-rtp-sink

MODULE OPTIONS

Options specific to the behavior of this module

source.ip =<str>: source IP address, default "0.0.0.0"

destination.ip =<str>: destination IP address, default "224.0.0.56"

destination.port =<int>: destination port, default random between 46000 and 47024

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

net.mtu = <int>: MTU to use, default 1280

net.ttl = <int>: TTL to use, default 1

net.loop = <bool>: loopback multicast, default false

sess.min-ptime = <float>: minimum packet time in milliseconds, default 2

sess.max-ptime = <float>: maximum packet time in milliseconds, default 20

sess.name = <str>: a session name

rtp.ptime = <float>: size of the packets in milliseconds, default up to MTU but between sess.min-ptime and sess.max-ptime

rtp.framecount = <int>: number of samples per packet, default up to MTU but between sess.min-ptime and sess.max-ptime

sess.latency.msec = <float>: target node latency in milliseconds, default as rtp.ptime

sess.ts-offset = <int>: an offset to apply to the timestamp, default -1 = random offset

sess.ts-refclk = <string>: the name of a reference clock

sess.media = <string>: the media type audio|midi|opus, default audio

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

aes67.driver-group = <string>: for AES67 streams, can be specified in order to allow the sink to be driven by a different node than the PTP driver.

GENERAL OPTIONS

Options with well-known behavior:

remote.name

audio.format

audio.rate

audio.channels

audio.position

node.name

node.description

media.name

node.group

node.latency

node.virtual

media.class

EXAMPLE CONFIGURATION

# ˜/.config/pipewire/pipewire.conf.d/my−rtp−sink.conf

context.modules = [
{ name = libpipewire−module−rtp−sink
args = {
#local.ifname = "eth0"
#source.ip = "0.0.0.0"
#destination.ip = "224.0.0.56"
#destination.port = 46000
#net.mtu = 1280
#net.ttl = 1
#net.loop = false
#sess.min−ptime = 2
#sess.max−ptime = 20
#sess.name = "PipeWire RTP stream"
#sess.media = "audio"
#audio.format = "S16BE"
#audio.rate = 48000
#audio.channels = 2
#audio.position = [ FL FR ]
stream.props = {
node.name = "rtp−sink"
}
}
}
]

Since

0.3.60


Updated 2026-06-01 - jenkler.se | uex.se