Anstatt mich bei Spotify & Co einzukaufen, beziehungsweise mich dort abhängig zu machen, fing ich an meine CDs auszulesen und im flac-Format abzulegen. Auf dem Heim-Server unter GNU/Linux. Und dort nicht unter /home/xxx/Musik.
Womit nicht nur rygel, sondern auch minidlna so ihre Probleme haben. Irgendwie möge die keine Dateien anfassen, die nicht irgendwo unter /home liegen und oder die uid und gid des Nutzers haben. Und nur für rygel oder minidlna die Nutzerrechte umstellen?
Und dann gibt es unter devuan https://github.com/anacrolix/dms. Kann man ja mal ausprobieren. Und es ist immer wieder schön, wenn Unix funktioniert, sprich ein Programm macht genau das, was es soll.
Auf der shell ein cd
in den Ordner mit der Musik. dms
eingeben und ... der Server taucht in dlna-fähigen Programmen auf, wie zum Beispiel vlc. Beim Versuch, sich den Inhalt auf dem Client anzeigen zu lassen, passieren zwei Dinge:
- Der Client läuft in einem TimeOut
- Der Server fängt das Arbeiten an
+160GB an Dateien benötigen etwas Zeit, um indiziert zu werden. Keine Angst, beim erneuten Starten von dms
werden die Dateien aus dem Cache geholt. Nach dem Indizieren funktioniert dann der dlna-Server dms
so, wie man sich das naiv vorstellt.
Bash Scripte zum Starten und Anhalten des dms
sind auch schnell erstellt. Hier zum Starten des Dienstes:
#!/bin/bash
#
cd /
if [ ! -f "/var/run/dms_music.pid" ]; then
echo $$ > /var/run/dms_music.pid
if [ -f "/usr/bin/dms" ]; then
if [ -d /pfad/zur/music"" ]; then
cd /pfad/zur/music
exec /usr/bin/dms -friendlyName Your_Music -ignoreHidden -ignoreUnreadable -http :1338
fi
fi
fi
Ab hier zum Anhalten des Dienstes:
#!/bin/bash
#
cd /
if [ -f "/var/run/dms_music.pid" ]; then
kill $(cat /var/run/dms_music.pid)
rm -r /var/run/dms_music.pid
fi
Ich schreibe die Prozess-ID nach /var/run/dms_music.pid
, um einen erneuten Start des Dienstes zu verhindern. dms_music
weil ich so weitere Dienste für Film und Fotos starten kann (auf einem anderen Port als -http :1338
), also dms_film, dms_foto, dms-audiobook sind möglich. Entsprechend solltet Ihr dann -friendlyName Your_Music
zu etwas sinnhaften abändern.
Das ganze startet auch nur, falls die Audio-Dateien unter eurem Pfad existieren, besser gesagt der Pfad zu euren Audio-Dateien vorhanden ist. Meine liegen auf einer separaten Festplatte, so stelle ich sicher, dass diese auch im Dateisystem eingebunden, sprich vorhanden sind.
Und natürlich muss auch das Programm vorhanden sein :-)
Beim Anhalten bin ich mutig, falls /var/run/dms_music.pid
existiert nehme ich auch an das der Dienst noch läuft. Nach dem Anhalten des Prozesses (kill
) muss dann natürlich noch die .pid Datei gelöscht werden. Mögliche Fehlerquelle: Der kill
schlägt fehl. Dann startet man den Dienst bis zum nächsten Reboot eventuell mehrmals. :-(