PipeWire  1.0.0
RTP session

The rtp-session module creates a media session that is announced with avahi/mDNS/Bonjour.

Other machines on the network that run a compatible session will see eachother and will be able to send audio/midi between eachother.

The session setup is based on apple-midi and is compatible with apple-midi when the session is using midi.

Module Name

libpipewire-module-rtp-session

Module Options

Options specific to the behavior of this module

  • local.ifname = <str>: interface name to use
  • control.ip =<str>: control IP address, default "0.0.0.0"
  • control.port =<int>: control port, default "0"
  • 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 = <int>: minimum packet time in milliseconds, default 2
  • sess.max-ptime = <int>: maximum packet time in milliseconds, default 20
  • sess.latency.msec = <int>: receiver latency in milliseconds, default 100
  • sess.name = <str>: a session name
  • 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 midi
  • stream.props = {}: properties to be passed to the stream

General options

Options with well-known behavior:

# Example configuration

1  context.modules = [
2  { name = libpipewire-module-rtp-session
3  args = {
4  #local.ifname = "eth0"
5  #control.ip = "0.0.0.0"
6  #control.port = 0
7  #net.mtu = 1280
8  #net.ttl = 1
9  #net.loop = false
10  #sess.min-ptime = 2
11  #sess.max-ptime = 20
12  #sess.name = "PipeWire RTP stream"
13  #sess.media = "audio"
14  stream.props = {
15  node.name = "rtp-sink"
16  #audio.format = "S16BE"
17  #audio.rate = 48000
18  #audio.channels = 2
19  #audio.position = [ FL FR ]
20  }
21  }
22 }
23 ]
Since
0.3.60