PipeWire 1.2.1
Loading...
Searching...
No Matches
RTP sink

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

General options

Options with well-known behavior:

Example configuration

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