pa-dlna forwards audio streams to DLNA devices.
pa-dlna is composed of the following components:
pa-dlnaprogram forwards PulseAudio streams to DLNA devices.
upnp-cmdis an interactive command line tool for introspection and control of UPnP devices .
The UPnP Python package is used by both commands.
The libpulse Python package is a ctypes interface to the
See the pa-dlna documentation.
Python version 3.8 or more recent.
The built-in UPnP package and therefore the
commands depend on the psutil Python package. This package is available in
most distributions as
python-psutil. It can also be
pa-dlna uses the pulseaudio
parec program . Depending on the linux
distribution it may be already installed as a dependency of pulseaudio or of
pipewire-pulse. If not, then the package that owns
parec must be
installed. On archlinux the package name is
libpulse, on debian it is
Optionally, encoders compatible with the audio mime types supported by the
devices may be used.
pa-dlna currently supports the ffmpeg (mp3, wav,
aiff, flac, opus, vorbis, aac), the flac and the lame (mp3) encoders. The
list of supported encoders, whether they are available on this host and their
options, is printed by the command that prints the default configuration:
$ pa-dlna --dump-default
Optionally, one may install the
pavucontrol package for easier management of
associations between sound sources and DLNA devices.
pipewire as a pulseaudio sound server
wireplumber packages must be
installed and the corresponding programs started. If you are switching from
pulseaudio, make sure to remove
/etc/pulse/client.conf or to comment out the
default-server in this file as pulseaudio and pipewire do not use
the same unix socket path name.
parec ‘s package includes the
pactl program. One may check that the
installation of pipewire as a pulseaudio sound server is successfull by running
$ pactl info
pa-dlna with pip:
$ python -m pip install pa-dlna
pa-dlna.conf user configuration file overriding the default configuration
may be used to:
Change the preferred encoders ordered list used to select an encoder.
Configure encoder options.
Set an encoder for a given device and configure the options for this device.
Configure the sample_format, rate and channels parameters of the
parecprogram used to forward PulseAudio streams, for a specific device, for an encoder type or for all devices.