Reference

libpipewire-module-rtp-sink(7)

RTP sink

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.layout

•

audio.position

•

node.name

•

node.description

•

media.name

•

node.group

•

node.latency

•

node.virtual

•

node.network

•

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

History