System integration¶
systemd¶
It is recommended to run Rygel either through GNOME settings’s media sharing option or, for example on headless devices, as a user service in a lingering session. A sample user service file is available here but should also be installed in your system.
Pulseaudio¶
It is possible to distribute a computer’s audio via DLNA. For Pulseaudio, two ways are possible:
Native Pulseaudio integration¶
Pulseaudio needs to load module-http-protocol-tcp for this to work. Additionally, using e.g. paprefs, “Make local sound devices available as DLNA/UPnP Media Server” must be enabled on Pulseaudio.
Afterwards, enabable the External plugin and explicitly enable the Pulseaudio peer with this configuration:
[External]
enabled=true
[org.gnome.UPnP.MediaServer2.PulseAudio]
enabled=true
Using GstLaunch¶
While it is easier to enable the “Create separate audio device for DLNA/UPnP media streaming” option in pulseaudio, this works with any monitor for any available audio device.
Using the snippet below, the host’s audio will be available to DLNA as a FLAC stream:
[GstLaunch]
enabled=true
launch-items=myaudioflac
myaudioflac-title=FLAC audio on @HOSTNAME@
myaudioflac-mime=audio/flac
myaudioflac-launch=pulsesrc device=upnp.monitor ! flacenc
It is also possible to provide additional formats, like
[GstLaunch]
enabled=true
launch-items=myaudiomprg
myaudioflac-title=FLAC audio on @HOSTNAME@
myaudioflac-mime=audio/flac
myaudioflac-launch=pulsesrc device=upnp.monitor ! audio/x-raw,channels=2 ! flacenc
myaudiompeg-title=mpeg audio on @HOSTNAME@
myaudiompeg-mime=audio/mpeg
myaudiompeg-launch=pulsesrc device=upnp.monitor ! audio/x-raw,channels=2 ! lamemp3enc target=quality quality=6