PipeWire: RTP source

PipeWire 1.2.7

Loading...
Searching...
No Matches
RTP source

The `rtp-source` module creates a PipeWire source that receives audio and midi RTP packets.

This module is usually loaded from the SAP Announce and create RTP streams so that the source.ip and source.port and format parameters matches that of the sender.

# Module Name

`libpipewire-module-rtp-source`

# Module Options

Options specific to the behavior of this module

- `local.ifname = <str>`: interface name to use
- `source.ip = <str>`: the source ip address, default 224.0.0.56. Set this to the IP address you want to receive packets from or 0.0.0.0 to receive from any source address.
- `source.port = <int>`: the source port
- `node.always-process = <bool>`: true to receive even when not running
- `sess.latency.msec = <float>`: target network latency in milliseconds, default 100
- `sess.ignore-ssrc = <bool>`: ignore SSRC, default false
- `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:

- PW_KEY_REMOTE_NAME
- PW_KEY_AUDIO_FORMAT
- PW_KEY_AUDIO_RATE
- PW_KEY_AUDIO_CHANNELS
- SPA_KEY_AUDIO_POSITION
- PW_KEY_MEDIA_NAME
- PW_KEY_MEDIA_CLASS
- PW_KEY_NODE_NAME
- PW_KEY_NODE_DESCRIPTION
- PW_KEY_NODE_GROUP
- PW_KEY_NODE_LATENCY
- PW_KEY_NODE_VIRTUAL

# Example configuration

# ~/.config/pipewire/pipewire.conf.d/my-rtp-source.conf
context.modules = [
{ name = libpipewire-module-rtp-source
args = {
#local.ifname = eth0
#source.ip = 224.0.0.56
#source.port = 0
sess.latency.msec = 100
#sess.ignore-ssrc = false
#node.always-process = false
#sess.media = "audio"
#audio.format = "S16BE"
#audio.rate = 48000
#audio.channels = 2
#audio.position = [ FL FR ]
stream.props = {
#media.class = "Audio/Source"
node.name = "rtp-source"
}
}
}
]

Since
  0.3.60