Nächste: , Vorige: , Nach oben: Dienste   [Inhalt][Index]


12.9.28 Audio-Dienste

Das Modul (gnu services audio) stellt einen Dienst zur Verfügung, um MPD (den Music Player Daemon) zu starten.

Music Player Daemon

Der Music Player Daemon (MPD) ist ein Dienst, der Musik abspielen kann und der dabei vom lokalen Rechner oder über das Netzwerk durch verschiedene Clients angesteuert werden kann.

Das folgende Beispiel zeigt, wie man mpd als Benutzer "bob" auf Port 6666 ausführen könnte. Dabei wird Pulseaudio zur Ausgabe verwendet.

(service mpd-service-type
         (mpd-configuration
          (user "bob")
          (port "6666")))
Variable: mpd-service-type

Der Diensttyp für mpd.

Datentyp: mpd-configuration

Datentyp, der die Konfiguration von mpd repräsentiert.

package (Vorgabe: mpd) (Typ: dateiartig)

Das MPD-Paket.

user (Vorgabe: %mpd-user) (Typ: Benutzerkonto)

Das Benutzerkonto, mit dem mpd ausgeführt wird.

Vorgegeben ist %mpd-user, was für ein System-Benutzerkonto mit Namen „mpd“ steht, das Mitglied der Benutzergruppe group ist (siehe unten).

group (Vorgabe: %mpd-group) (Typ: Benutzergruppe)

Die Benutzergruppe, mit der mpd ausgeführt wird.

Vorgegeben ist %mpd-group, was für eine System-Benutzergruppe mit Namen „mpd“ steht.

shepherd-requirement (default: '()) (type: list-of-symbol)

Eine Liste von Symbolen, die Shepherd-Dienste angeben, von welchen dieser Dienst abhängen soll.

environment-variables (default: '("PULSE_CLIENTCONFIG=/etc/pulse/client.conf" "PULSE_CONFIG=/etc/pulse/daemon.conf")) (type: list-of-strings)

Eine Liste von Zeichenketten, die Umgebungsvariable festlegen.

log-file (Vorgabe: "/var/log/mpd/log") (Typ: Vielleicht-Zeichenkette)

Der Ort, wo die Protokolldatei gespeichert werden soll. Wenn Sie hier syslog angeben, werden Protokolle an den lokal laufenden syslog-Daemon geschickt; wenn Sie hier %unset-value angeben, wird keine Anweisung in der Konfigurationsdatei gegeben.

log-level (Typ: Vielleicht-Zeichenkette)

Unterhalb welchen Schwellwerts keine Nachrichten protokolliert werden sollen. Zur Auswahl stehen: notice (Benachrichtigungen), info (Informationen), verbose (ausführliche Warnmeldungen), warning (Warnmeldungen) und error (nur Fehler).

music-directory (Typ: Vielleicht-Zeichenkette)

Das Verzeichis, in dem nach Musikdateien gesucht wird.

playlist-directory (Typ: Vielleicht-Zeichenkette)

Das Verzeichnis, um Wiedergabelisten („Playlists“) zu speichern.

db-file (Typ: Vielleicht-Zeichenkette)

Der Ort, an dem die Musikdatenbank gespeichert wird.

state-file (Typ: Vielleicht-Zeichenkette)

Der Ort, an dem die Datei mit dem aktuellen Zustand von MPD gespeichert wird.

sticker-file (Typ: Vielleicht-Zeichenkette)

Der Ort, an dem die Sticker-Datenbank gespeichert wird.

default-port (Vorgabe: 6600) (Typ: Vielleicht-Ganze-Zahl)

Was die Voreinstellung dafür sein soll, auf welchem Port mpd ausgeführt wird.

endpoints (Typ: Vielleicht-Liste-von-Zeichenketten)

Die Adressen, an die sich mpd binden wird. Sie können dabei auch einen Port angeben, um einen anderen Port als den voreingestellten default-port zu benutzen, etwa localhost:6602, und wenn Sie IPv6-Adressen angeben, müssen Sie außen herum eckige Klammern schreiben, um den Port angeben zu können. Um einen Unix-Socket zu benutzen, würden Sie hier einen absoluten Pfad angeben oder einen Pfad, der mit ~ beginnt, angeben.

database (Typ: Vielleicht-„mpd-plugin“)

Eine Konfiguration eines MPD-Datenbank-Plugins.

partitions (default: '()) (type: list-of-mpd-partition)

Liste von MPD-Partitionen.

neighbors (default: '()) (type: list-of-mpd-plugin)

Liste von Konfigurationen von MPD-Neighbor-Plugins.

inputs (default: '()) (type: list-of-mpd-plugin)

Liste von Konfigurationen von MPD-Eingaben-Plugins.

archive-plugins (default: '()) (type: list-of-mpd-plugin)

Liste von Konfigurationen von MPD-Archiv-Plugins.

input-cache-size (Typ: Vielleicht-Zeichenkette)

Größe von MPDs Zwischenspeicherung der Eingabe.

decoders (default: '()) (type: list-of-mpd-plugin)

Liste von Konfigurationen von MPD-Decoder-Plugins.

resampler (Typ: Vielleicht-„mpd-plugin“)

Eine Konfiguration eines MPD-Resampler-Plugins.

filters (default: '()) (type: list-of-mpd-plugin)

Liste von Konfigurationen von MPD-Filter-Plugins.

outputs (Typ: Liste-von-„mpd-plugin“-oder-von-„mpd-output“)

Welche Tonausgaben MPD benutzen kann. Vorgegeben ist eine einzelne Ausgabe, die Pulseaudio benutzt.

playlist-plugins (default: '()) (type: list-of-mpd-plugin)

Liste von Konfigurationen von MPD-Plugins für Wiedergabelisten (Playlists).

extra-options (default: '()) (type: alist)

Eine assoziative Liste, die Optionssymbole oder Zeichenketten auf Zeichenketten abbildet. Sie wird an die Konfiguration angehängt.

Datentyp: mpd-plugin

Datentyp, der ein Plugin für mpd repräsentiert.

plugin (Typ: Vielleicht-Zeichenkette)

Plugin-Name.

name (Typ: Vielleicht-Zeichenkette)

Name.

enabled? (Typ: Vielleicht-Boolescher-Ausdruck)

Gibt an, ob das Plugin aktiviert ist oder nicht.

extra-options (default: '()) (type: alist)

Eine assoziative Liste, die Optionssymbole oder Zeichenketten auf Zeichenketten abbildet. Sie wird an die Plugin-Konfiguration angehängt. Siehe die MPD plugin reference für eine Liste, welche Optionen es gibt.

Datentyp: mpd-partition

Datentyp, der eine Partition von mpd repräsentiert.

name (Typ: Zeichenkette)

Name der Partition.

extra-options (default: '()) (type: alist)

Eine assoziative Liste, die Optionssymbole oder Zeichenketten auf Zeichenketten abbildet. Sie wird an die Plugin-Konfiguration angehängt. Siehe die Configuring Partitions für eine Liste, welche Optionen bei Partitionen möglich sind.

Datentyp: mpd-output

Datentyp, der eine Tonausgabe von mpd repräsentiert.

name (Vorgabe: "MPD") (Typ: Zeichenkette)

Der Name der Tonausgabe.

type (Vorgabe: "pulse") (Typ: Zeichenkette)

Der Typ der Tonausgabe.

enabled? (Vorgabe: #t) (Typ: Boolescher-Ausdruck)

Gibt an, ob diese Tonausgabe aktiviert sein soll, wenn MPD gestartet wird. Vorgegeben ist, alle Tonausgaben zu aktivieren. Das entspricht der Voreinstellung, wenn keine Zustandsdatei existiert; mit Zustandsdatei wird der Zustand von früher wiederhergestellt.

format (Typ: Vielleicht-Zeichenkette)

Erzwingt ein bestimmtes Tonformat für die Ausgabe. Siehe Global Audio Format für eine genauere Beschreibung.

tags? (Vorgabe: #t) (Typ: Boolescher-Ausdruck)

Wenn es auf #f steht, sendet MPD keine Tags an diese Ausgabe. Dies wird nur berücksichtigt, wenn das Ausgabe-Plugin Tags empfangen kann, wie beim httpd-Ausgabe-Plugin.

always-on? (Vorgabe: #f) (Typ: Boolescher-Ausdruck)

Wenn es auf #t steht, versucht MPD, diese Tonausgabe immer offen zu lassen. Das kann bei Streaming-Servern helfen, wo man nicht will, dass die Verbindung zu allen Zuhörern abbricht, nur weil das Abspielen aus irgendeinem Grund angehalten wurde.

mixer-type (Vorgabe: "none") (Typ: Zeichenkette)

Für dieses Feld wird eine Zeichenkette akzeptiert, die das für diese Tonausgabe zu benutzende Mischpult („Mixer“) bezeichnet. Zur Wahl stehen das hardware-Mischpult, das software-Mischpult, das null-Mischpult oder kein Mischpult (none). Mit dem null-Mischpult kann die Lautstärke eingestellt werden, aber ohne Auswirkung; das kann als Trick benutzt werden, um ein externes Mischpult zu implementieren.

replay-gain-handler (Typ: Vielleicht-Zeichenkette)

Für dieses Feld wird eine Zeichenkette akzeptiert, die die anzuwendende Wiedergabe-Verstärkung benennt. Bei software wird eine interne Lautstärkeregelung in Software verwendet, bei mixer wird die externe Hardware verwendet, die konfiguriert ist, und bei none findet auf dieser Ausgabe keine Wiedergabe-Verstärkung statt.

extra-options (default: '()) (type: alist)

Eine assoziative Liste, die Optionssymbole oder Zeichenketten auf Zeichenketten abbildet. Sie wird an die Tonausgabenkonfiguration angehängt.

Das folgende Beispiel zeigt eine Konfiguration von mpd, die einige Plugins konfiguriert und eine HTTP-Audiostreaming-Tonausgabe anbietet.

(service mpd-service-type
         (mpd-configuration
           (outputs
             (list (mpd-output
                     (name "streaming")
                     (type "httpd")
                     (mixer-type 'null)
                     (extra-options
                      `((encoder . "vorbis")
                        (port    . "8080"))))))
           (decoders
             (list (mpd-plugin
                     (plugin "mikmod")
                     (enabled? #f))
                   (mpd-plugin
                     (plugin "openmpt")
                     (enabled? #t)
                     (extra-options `((repeat-count . -1)
                                      (interpolation-filter . 1))))))
           (resampler (mpd-plugin
                        (plugin "libsamplerate")
                        (extra-options `((type . 0)))))))

myMPD

myMPD ist eine für Mobilgeräte geeignete Oberfläche für MPD auf einem Webserver.

Folgendes Beispiel zeigt eine Instanz von myMPD, die auf Port 80 lauscht, wobei Albenbilder nicht zwischengespeichert werden.

(service mympd-service-type
         (mympd-configuration
          (port 80)
          (covercache-ttl 0)))
Variable: mympd-service-type

Der Diensttyp für mympd.

Datentyp: mympd-configuration

Verfügbare mympd-configuration-Felder sind:

package (Vorgabe: mympd) (Typ: dateiartig)

Das Paketobjekt von myMPD.

shepherd-requirement (default: '()) (type: list-of-symbol)

Eine Liste von Symbolen, die andere Shepherd-Dienste angeben, von denen dieser Dienst abhängen soll.

user (Vorgabe: %mympd-user) (Typ: Benutzerkonto)

Das Benutzerkonto, dem der mympd-Prozess gehören soll.

Vorgegeben ist %mympd-user, was für ein System-Benutzerkonto mit Namen „mympd“ steht, das Mitglied der Benutzergruppe group ist (siehe unten).

group (Vorgabe: %mympd-group) (Typ: Benutzergruppe)

Gruppe des Besitzers des mympd-Prozesses.

Vorgegeben ist %mympd-group, was für eine System-Benutzergruppe mit Namen „mympd“ steht.

work-directory (Vorgabe: "/var/lib/mympd") (Typ: Zeichenkette)

Wo die Daten von myMPD gespeichert werden sollen.

cache-directory (Vorgabe: "/var/cache/mympd") (Typ: Zeichenkette)

Wo der Zwischenspeicher von myMPD gespeichert werden soll.

acl (Typ: Vielleicht-„mympd-ip-acl“)

Zugriffssteuerungsliste (ACL), welche Rechner auf den myMPD-Webserver zugreifen dürfen.

covercache-ttl (Vorgabe: 31) (Typ: Vielleicht-Ganze-Zahl)

Wie lange Albenbilder zwischengespeichert werden. Bei 0 werden Albenbilder nicht zwischengespeichert.

http? (Vorgabe: #t) (Typ: Boolescher-Ausdruck)

HTTP-Unterstützung.

host (Vorgabe: "[::]") (Typ: Zeichenkette)

Rechnername, auf dem gelauscht werden soll.

port (Vorgabe: 80) (Typ: Vielleicht-Zahl)

Auf welchen HTTP-Port gelauscht werden soll.

log-level (Vorgabe: 5) (Typ: Ganze-Zahl)

Wie detailliert die Protokolle sein sollen. Möglich sind Werte von 0 bis 7.

log-to (Vorgabe: "/var/log/mympd/log") (Typ: Zeichenkette-oder-Symbol)

Wohin Protokolle geschickt werden. Die Vorgabe ist, dass der Dienst ein Protokoll seiner Standardausgabe in /var/log/mympd.log schreibt. Die Alternative ist 'syslog, wodurch die Ausgabe an den laufenden syslog-Dienst geschickt wird. Die Protokolle werden unter der Syslog-Einrichtung (Facility) ‘daemon’ eingeordnet.

lualibs (Vorgabe: "all") (Typ: Vielleicht-Zeichenkette)

Siehe https://jcorporation.github.io/myMPD/scripting/#lua-standard-libraries.

uri (Typ: Vielleicht-Zeichenkette)

Eine andere URI für myMPD vorgeben. Siehe https://github.com/jcorporation/myMPD/issues/950.

script-acl (Vorgabe: (mympd-ip-acl (allow '("127.0.0.1")))) (Typ: Vielleicht-„mympd-ip-acl“)

Zugriffssteuerungsliste (ACL), welche Rechner auf die Scripting-Schnittstelle zugreifen dürfen.

ssl? (Vorgabe: #f) (Typ: Boolescher-Ausdruck)

SSL/TLS-Unterstützung.

ssl-port (Vorgabe: 443) (Typ: Vielleicht-Port)

Port, auf dem auf HTTPS gelauscht wird.

ssl-cert (Typ: Vielleicht-Zeichenkette)

Pfad zum PEM-kodierten X.509-SSL/TLS-Zertifikat (der öffentliche Schlüssel).

ssl-key (Typ: Vielleicht-Zeichenkette)

Pfad zum PEM-kodierten privaten Schlüssel für SSL/TLS.

pin-hash (Typ: Vielleicht-Zeichenkette)

Mit SHA-256 gehashte PIN, die durch myMPD vom Benutzer angefordert wird, wenn der Benutzer auf Einstellungen zugreifen möchte.

save-caches? (Typ: Vielleicht-Boolescher-Ausdruck)

Ob Zwischenspeicher erhalten werden, wenn der Dienst neu gestartet wird.

Datentyp: mympd-ip-acl

Verfügbare mympd-ip-acl-Felder sind:

allow (default: '()) (type: list-of-strings)

Zugelassene IP-Adressen.

deny (default: '()) (type: list-of-strings)

Verbotene IP-Adressen.


Nächste: Virtualisierungsdienste, Vorige: Dienste zur Stromverbrauchsverwaltung, Nach oben: Dienste   [Inhalt][Index]