Man page - libpipewire-module-protocol-simple(7)
Packages contas this manual
- pipewire-pulse-module-alsa-source(7)
- pipewire-pulse-module-roc-sink-input(7)
- libpipewire-module-profiler(7)
- pipewire-pulse-module-ladspa-source(7)
- libpipewire-module-rtp-session(7)
- libpipewire-module-vban-send(7)
- pipewire-pulse-module-alsa-sink(7)
- libpipewire-module-adapter(7)
- libpipewire-module-portal(7)
- libpipewire-module-example-sink(7)
- pipewire-pulse-module-pipe-source(7)
- libpipewire-module-rtp-source(7)
- libpipewire-module-spa-node(7)
- pipewire-pulse-module-jackdbus-detect(7)
- libpipewire-module-snapcast-discover(7)
- pipewire-pulse-module-zeroconf-publish(7)
- libpipewire-module-jackdbus-detect(7)
- libpipewire-module-protocol-native(7)
- libpipewire-module-jack-tunnel(7)
- pipewire-pulse-module-always-sink(7)
- libpipewire-module-spa-node-factory(7)
- libpipewire-module-metadata(7)
- libpipewire-module-fallback-sink(7)
- libpipewire-module-ffado-driver(7)
- libpipewire-module-access(7)
- pipewire-pulse-module-native-protocol-tcp(7)
- libpipewire-module-parametric-equalizer(7)
- libpipewire-module-raop-discover(7)
- libpipewire-module-protocol-pulse(7)
- libpipewire-module-session-manager(7)
- pipewire-pulse-module-tunnel-source(7)
- pipewire-pulse-module-rtp-recv(7)
- libpipewire-module-loopback(7)
- pipewire-pulse-module-raop-discover(7)
- pipewire-pulse-module-gsettings(7)
- pipewire-pulse-module-ladspa-sink(7)
- pipewire-pulse-module-remap-source(7)
- libpipewire-module-netjack2-driver(7)
- libpipewire-module-client-node(7)
- libpipewire-module-example-source(7)
- libpipewire-module-rtp-sap(7)
- libpipewire-module-echo-cancel(7)
- libpipewire-module-spa-device-factory(7)
- pipewire-pulse-module-loopback(7)
- pipewire-pulse-module-tunnel-sink(7)
- libpipewire-module-combine-stream(7)
- libpipewire-module-netjack2-manager(7)
- pipewire-pulse-module-virtual-sink(7)
- pipewire-pulse-module-switch-on-connect(7)
- libpipewire-module-roc-source(7)
- pipewire-pulse-module-device-manager(7)
- libpipewire-module-avb(7)
- pipewire-pulse-module-null-sink(7)
- libpipewire-module-example-filter(7)
- pipewire-pulse-module-virtual-source(7)
- libpipewire-module-spa-device(7)
- pipewire-pulse-module-rtp-send(7)
- libpipewire-modules(7)
- pipewire-pulse-module-pipe-sink(7)
- libpipewire-module-roc-sink(7)
- libpipewire-module-pulse-tunnel(7)
- libpipewire-module-x11-bell(7)
- libpipewire-module-raop-sink(7)
- libpipewire-module-link-factory(7)
- pipewire-pulse-module-zeroconf-discover(7)
- libpipewire-module-protocol-simple(7)
- pipewire-pulse-module-roc-sink(7)
- libpipewire-module-zeroconf-discover(7)
- pipewire-pulse-module-x11-bell(7)
- pipewire-pulse-modules(7)
- pipewire-pulse-module-combine-sink(7)
- pipewire-pulse-module-device-restore(7)
- libpipewire-module-rtp-sink(7)
- pipewire-pulse-module-stream-restore(7)
- pipewire-pulse-module-simple-protocol-tcp(7)
- pipewire-pulse-module-echo-cancel(7)
- pipewire-pulse-module-remap-sink(7)
- libpipewire-module-rt(7)
- libpipewire-module-pipe-tunnel(7)
- libpipewire-module-client-device(7)
- pipewire-pulse-module-roc-source(7)
- libpipewire-module-filter-chain(7)
- libpipewire-module-vban-recv(7)
- pipewire-pulse-module-alsa-source(7)
- pipewire-pulse-module-roc-sink-input(7)
- libpipewire-module-profiler(7)
- pipewire-pulse-module-ladspa-source(7)
- libpipewire-module-rtp-session(7)
- libpipewire-module-vban-send(7)
- pipewire-pulse-module-alsa-sink(7)
- libpipewire-module-adapter(7)
- libpipewire-module-portal(7)
- libpipewire-module-example-sink(7)
- pipewire-pulse-module-pipe-source(7)
- libpipewire-module-rtp-source(7)
- libpipewire-module-spa-node(7)
- pipewire-pulse-module-jackdbus-detect(7)
- libpipewire-module-snapcast-discover(7)
- pipewire-pulse-module-zeroconf-publish(7)
- libpipewire-module-jackdbus-detect(7)
- libpipewire-module-protocol-native(7)
- libpipewire-module-jack-tunnel(7)
- pipewire-pulse-module-always-sink(7)
- libpipewire-module-spa-node-factory(7)
- libpipewire-module-metadata(7)
- libpipewire-module-fallback-sink(7)
- libpipewire-module-ffado-driver(7)
- libpipewire-module-access(7)
- pipewire-pulse-module-native-protocol-tcp(7)
- libpipewire-module-parametric-equalizer(7)
- libpipewire-module-raop-discover(7)
- libpipewire-module-protocol-pulse(7)
- libpipewire-module-session-manager(7)
- pipewire-pulse-module-tunnel-source(7)
- pipewire-pulse-module-rtp-recv(7)
- libpipewire-module-loopback(7)
- pipewire-pulse-module-raop-discover(7)
- pipewire-pulse-module-gsettings(7)
- pipewire-pulse-module-ladspa-sink(7)
- pipewire-pulse-module-remap-source(7)
- libpipewire-module-netjack2-driver(7)
- libpipewire-module-client-node(7)
- libpipewire-module-example-source(7)
- libpipewire-module-rtp-sap(7)
- libpipewire-module-echo-cancel(7)
- libpipewire-module-spa-device-factory(7)
- pipewire-pulse-module-loopback(7)
- pipewire-pulse-module-tunnel-sink(7)
- libpipewire-module-combine-stream(7)
- libpipewire-module-netjack2-manager(7)
- pipewire-pulse-module-virtual-sink(7)
- pipewire-pulse-module-switch-on-connect(7)
- libpipewire-module-roc-source(7)
- pipewire-pulse-module-device-manager(7)
- libpipewire-module-avb(7)
- pipewire-pulse-module-null-sink(7)
- libpipewire-module-example-filter(7)
- pipewire-pulse-module-virtual-source(7)
- libpipewire-module-spa-device(7)
- pipewire-pulse-module-rtp-send(7)
- libpipewire-modules(7)
- pipewire-pulse-module-pipe-sink(7)
- libpipewire-module-roc-sink(7)
- libpipewire-module-pulse-tunnel(7)
- libpipewire-module-x11-bell(7)
- libpipewire-module-raop-sink(7)
- libpipewire-module-link-factory(7)
- pipewire-pulse-module-zeroconf-discover(7)
- libpipewire-module-protocol-simple(7)
- pipewire-pulse-module-roc-sink(7)
- libpipewire-module-zeroconf-discover(7)
- pipewire-pulse-module-x11-bell(7)
- pipewire-pulse-modules(7)
- pipewire-pulse-module-combine-sink(7)
- pipewire-pulse-module-device-restore(7)
- libpipewire-module-rtp-sink(7)
- pipewire-pulse-module-stream-restore(7)
- pipewire-pulse-module-simple-protocol-tcp(7)
- pipewire-pulse-module-echo-cancel(7)
- pipewire-pulse-module-remap-sink(7)
- libpipewire-module-rt(7)
- libpipewire-module-pipe-tunnel(7)
- libpipewire-module-client-device(7)
- pipewire-pulse-module-roc-source(7)
- libpipewire-module-filter-chain(7)
- libpipewire-module-vban-recv(7)
apt-get install libpipewire-0.3-modules
apt-get install libpipewire-0.3-modules
Manual
| libpipewire-module-protocol-simple(7) | Miscellaneous Information Manual | libpipewire-module-protocol-simple(7) |
NAME
libpipewire-module-protocol-simple - Protocol Simple
DESCRIPTION
The simple protocol provides a bidirectional audio stream on a network socket.
It is meant to be used with the simple protocol player app, available on Android to play and record a stream.
Each client that connects will create a capture and/or playback stream, depending on the configuration options.
You can also use it to feed audio data to other clients such as the snapcast server.
MODULE NAME
libpipewire-module-protocol-simple
MODULE OPTIONS
- capture: boolean if capture is enabled. This will create a capture stream or sink for each connected client.
- playback: boolean if playback is enabled. This will create a playback or source stream for each connected client.
- local.ifname = <str>: interface name to use
- local.ifaddress = <str>: interface address to use
- server.address = []: an array of server addresses to listen on as tcp:(<ip>:)<port>.
- capture.props: optional properties for the capture stream
- playback.props: optional properties for the playback stream
GENERAL OPTIONS
Options with well-known behavior.
- remote.name
- audio.rate
- audio.format
- audio.channels
- audio.position
- node.latency
- node.rate
- stream.capture.sink
- node.name
- target.object
By default the server will work with stereo 16 bits samples at 44.1KHz.
EXAMPLE CONFIGURATION
# ~/.config/pipewire/pipewire.conf.d/my-protocol-simple.conf
context.modules = [
{ name = libpipewire-module-protocol-simple
args = {
# Provide capture stream, clients can capture data from PipeWire
capture = true
#
# Provide playback stream, client can send data to PipeWire for playback
playback = true
#
#audio.rate = 44100
#audio.format = S16
#audio.channels = 2
#audio.position = [ FL FR ]
#
# The addresses this server listens on for new
# client connections
server.address = [
"tcp:4711"
]
capture.props = {
# The node name or id to use for capture.
#target.object = null
#
# To make the capture stream capture the monitor ports
#stream.capture.sink = false
#
# Make this a sink instead of a capture stream
#media.class = Audio/Sink
}
playback.props = {
# The node name or id to use for playback.
#target.object = null
#
# Make this a source instead of a playback stream
#media.class = Audio/Source
}
}
}
]
EXAMPLE CONFIGURATION FOR A SNAPCAST SERVER
context.modules = [
{ name = libpipewire-module-protocol-simple
args = {
# Provide sink
capture = true
audio.rate = 48000
audio.format = S16
audio.channels = 2
audio.position = [ FL FR ]
# The addresses this server listens on for new
# client connections
server.address = [
"tcp:4711"
]
capture.props = {
# Make this a sink instead of a capture stream
media.class = Audio/Sink
}
}
}
]
On the snapcast server, add the following to the `snapserver.conf` file: \code{.unparsed}
[stream]
sampleformat = 48000:16:2
source = tcp://127.0.0.1:4711?name=PipeWireSnapcast&mode=client
Snapcast will try to connect to the protocol-simple server and fetch the samples from it. Snapcast tries to reconnect when the connection is somehow broken.
| 1.4.2 | PipeWire |