libpipewire-module-rtp-sap(7) Miscellaneous Information Manual NAME libpipewire-module-rtp-sap - SAP Announce and create RTP streams DESCRIPTION The rtp-sap module announces RTP streams that match the rules with the announce-stream action. It will create source RTP streams that are announced with SAP when they match the rule with the create-stream action. If no stream.rules are given, it will announce all streams with sess.sap.announce = true and it will create a receiver for all announced streams. MODULE NAME libpipewire-module-rtp-sap MODULE OPTIONS Options specific to the behavior of this module o local.ifname = : interface name to use o sap.ip = : IP address of the SAP messages, default "224.0.0.56" o sap.port = : port of the SAP messages, default 9875 o sap.cleanup.sec = : cleanup interval in seconds, default 90 seconds o source.ip =: source IP address, default "0.0.0.0" o net.ttl = : TTL to use, default 1 o net.loop = : loopback multicast, default false o stream.rules = : match rules, use create-stream and announce- stream actions o sap.max-sessions = : maximum number of concurrent send/receive sessions to track o sap.preamble-extra = [strings]: extra attributes to add to the atomic SDP preamble o sap.end-extra = [strings]: extra attributes to add to the end of the SDP message GENERAL OPTIONS Options with well-known behavior: o remote.name EXAMPLE CONFIGURATION # ~/.config/pipewire/pipewire.conf.d/my-rtp-sap.conf context.modules = [ { name = libpipewire-module-rtp-sap args = { #local.ifname = "eth0" #sap.ip = "224.0.0.56" #sap.port = 9875 #sap.cleanup.sec = 5 #source.ip = "0.0.0.0" #net.ttl = 1 #net.loop = false stream.rules = [ { matches = [ # any of the items in matches needs to match, if one does, # actions are emitted. { # all keys must match the value. ! negates. ~ starts regex. #rtp.origin = "wim 3883629975 0 IN IP4 0.0.0.0" #rtp.payload = "127" #rtp.fmt = "L16/48000/2" #rtp.session = "PipeWire RTP Stream on fedora" #rtp.ts-offset = 0 #rtp.ts-refclk = "private" sess.sap.announce = true } ] actions = { announce-stream = { } } } { matches = [ { # all keys must match the value. ! negates. ~ starts regex. #rtp.origin = "wim 3883629975 0 IN IP4 0.0.0.0" #rtp.payload = "127" #rtp.fmt = "L16/48000/2" #rtp.session = "PipeWire RTP Stream on fedora" #rtp.ts-offset = 0 #rtp.ts-refclk = "private" rtp.session = "~.*" } ] actions = { create-stream = { #sess.latency.msec = 100 #sess.ts-direct = false #target.object = "" } } } ] } } ] Since 0.3.67 PipeWire 1.6.8 libpipewire-module-rtp-sap(7)