ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

ReadyMedia

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Wiki/Icons/service.png DLNA (Digital Living Network Alliance) ist ein Standard für digitale Unterhaltungselektronik, d.h. digitale, konvergente, vernetzte Geräte für Zuhause. Geräte mit DLNA-Standard sind untereinander kompatibel, d.h. DLNA sorgt dafür, dass Medienserver, Medienplayer, Computer und Handys sich verstehen.

ReadyMedia 🇬🇧 (früher MiniDLNA) stellt einen DLNA-Server zur Verfügung. Jeder Linux-Rechner wird damit zum Medienserver (Bilder, Videos, Hörbücher, etc.) für alle digitalen Geräte, die DLNA unterstützen und an das Heimnetz angeschlossen sind. DLNA/UPnP-Geräte erkennen den Medienserver automatisch. Die Inhalte des Medienservers werden auf den Geräten angezeigt und sind von dort als Stream abrufbar.

Installation

ReadyMedia kann aus den offiziellen Paketquellen installiert [1] werden. Unter Ubuntu 14.04 müssen vorher die Backports aktiviert werden:

  • minidlna (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install minidlna 

Oder mit apturl installieren, Link: apt://minidlna

Manuell

Auf der Homepage 🇬🇧 ⮷ stehen zwei Archivdateien zur Verfügung. Das Archiv minidlna-1.x.x_static.tar.gz enthält das vorkompilierte Programm, die Datei minidlna-1.x.x.tar.gz den Quelltext des Programms. Zum Ausführen der vorkompilierten Anwendung müssen die folgenden Pakete installiert sein:

  • libexif12

  • libjpeg62

  • libid3tag0

  • libflac8

  • libvorbisfile3

  • sqlite3

  • libavformat53

  • libuuid1

Befehl zum Installieren der Pakete:

sudo apt-get install libexif12 libjpeg62 libid3tag0 libflac8 libvorbisfile3 sqlite3 libavformat53 libuuid1 

Oder mit apturl installieren, Link: apt://libexif12,libjpeg62,libid3tag0,libflac8,libvorbisfile3,sqlite3,libavformat53,libuuid1

Anschließend ein Terminal öffnen [2] und das oben genannte Archiv mit Root-Rechten [3] entpacken [4]:

sudo tar -xzf minidlna-1.x.x_static.tar.gz -C / 

Wer dagegen die aktuellste Version selbst aus dem Quelltext erstellen möchte, findet am Ende des Artikels weitere Hinweise.

Konfiguration

Hinweis:

Der nachfolgende Abschnitt bezieht sich ausschließlich auf die Version aus den offiziellen Paketquellen.

In der Datei /etc/minidlna.conf ist die Konfiguration enthalten und kann mit einem Editor [5] angepasst werden.

  • An dieser Netzwerkkarte wird der Dienst angeboten, sollte bis Ubuntu 15.04 in den meisten Fällen eth0 sein:

    network_interface=eth0
  • In diesem Verzeichnis sucht ReadyMedia nach Multimediadateien (Videos, Musik und Bildern):

    # Standard-Ordner
    media_dir=/var/lib/minidlna

    Die Verzeichnisse können auch pro Multimediadatei angegeben werden (siehe auch Problembehebung):

    # Musik (Audio)
    media_dir=A,/opt/music
    # Videos
    media_dir=V,/opt/videos
    # Bilder (Pictures)
    media_dir=P,/opt/pics
  • Mit "friendly_name" wird der DLNA-Servername festgelegt:

    friendly_name=My DLNA Server
  • Mit "db_dir" wird das Datenbank-Verzeichnis festgelegt, das manuell angelegt und mit entsprechenden Rechten versehen werden muss (ab Ubuntu 14.04 nicht mehr notwendig):

    sudo mkdir /var/cache/minidlna
    sudo chown minidlna:minidlna /var/cache/minidlna 

    db_dir=/var/cache/minidlna
  • Mit "inotify" wird automatisch nach neuen Dateien in "media_dir" gesucht:

    inotify=yes

Dienst automatisch starten

Hinweis:

Dieser Abschnitt ist nur bei manueller Installation relevant. Bei der Installation aus den offiziellen Paketquellen wird ein entsprechendes Skript automatisch angelegt.

Um ReadyMedia automatisch zu starten, kann entweder Upstart oder SysVinit benutzt werden.

Upstart

Das folgende Upstart-Skript wird im Verzeichnis /etc/init/ mit dem Namen minidlna.conf erstellt bzw. an diese Stelle kopiert. Zudem muss die Variable IFACE (Netzwerkschnittstelle) angepasst werden (siehe Konfiguration). Das Gleiche gilt für die Variable MINIDLNA - je nachdem, in welchem Verzeichnis die Programmdatei zu finden ist (/usr/sbin/ bei manueller Installation).

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
# DLNA Service

description "minidlna"

#change IFACE to the right interface, see /etc/minidlna.conf
start on net-device-up IFACE=eth0
stop on runlevel [!2345]

#respawn the process if it crashes
respawn

# tell upstart we're creating a daemon
# upstart manages PID creation for you.
expect fork

env ARGS='-f /etc/minidlna.conf'
env MINIDLNA='/usr/sbin/minidlna'

exec $MINIDLNA $ARGS

SysVinit

Im Quelltext-Archiv minidlna_1.x.x.tar.gz befindet sich im Unterverzeichnis Linux das unten stehende Startskript. Dieses wird im Verzeichnis /etc/init.d/ mit dem Namen minidlna erstellt bzw. an diese Stelle kopiert.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/bin/sh

# chkconfig: 345 99 10
# description: Startup/shutdown script for MiniDLNA daemon
#
# Based on the MiniUPnPd script by Thomas Bernard
# Modified for MiniDLNA by Justin Maggard <jmaggard@users.sourceforge.net>
# Status function added by Igor Drobot
#
### BEGIN INIT INFO
# Provides:          minidlna
# Required-Start:    $network $local_fs $remote_fs
# Required-Stop::    $network $local_fs $remote_fs
# Should-Start:      $all
# Should-Stop:       $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: DLNA/UPnP-AV media server
### END INIT INFO

MINIDLNA=/usr/sbin/minidlna
PIDFILE=/var/run/minidlna.pid
CONF=/etc/minidlna.conf
ARGS="-f $CONF"

test -f $MINIDLNA || exit 0

. /lib/lsb/init-functions

case "$1" in
start)  log_daemon_msg "Starting minidlna" "minidlna"
        start-stop-daemon --start --quiet --pidfile $PIDFILE --startas $MINIDLNA -- $ARGS $LSBNAMES
        log_end_msg $?
        ;;
stop)   log_daemon_msg "Stopping minidlna" "minidlna"
        start-stop-daemon --stop --quiet --pidfile $PIDFILE
        log_end_msg $?
        ;;
restart|reload|force-reload)
        log_daemon_msg "Restarting minidlna" "minidlna"
        start-stop-daemon --stop --retry 5 --quiet --pidfile $PIDFILE
        start-stop-daemon --start --quiet --pidfile $PIDFILE --startas $MINIDLNA -- $ARGS $LSBNAMES
        log_end_msg $?
        ;;
status)
        status_of_proc -p $PIDFILE $MINIDLNA minidlna && exit 0 || exit $?
        ;;
*)      log_action_msg "Usage: /etc/init.d/minidlna {start|stop|restart|reload|force-reload|status}"
        exit 2
        ;;
esac
exit 0

Damit ReadyMedia bei jedem Systemstart automatisch gestartet wird, müssen folgende Befehle (siehe SysVinit) ausgeführt werden:

sudo chmod 755 /etc/init.d/minidlna
sudo update-rc.d minidlna defaults 

Bedienung

Gestartet wird ReadyMedia wie folgt:

sudo service minidlna start 

Beim ersten Start wird nach neuen Dateien gesucht und eine Datenbank erzeugt. Entsprechend der Konfiguration werden später neu hinzugefügte Dateien automatisch übernommen.

Status der Datenbank abfragen

Den aktuellen Stand der Datenbank kann man durch ein kleines Webfrontend erfahren. Auf dem eigenen Rechner ist es unter http://localhost:8200/ erreichbar.

Problembehebung

Homeverzeichnis einbinden

Soll das eigene Homeverzeichnis als Quelle für Multimediadateien dienen, müssen die Rechte entsprechend gesetzt sein. Mehr Dateils enthält diese Diskussion im Forum.

MiniDLNA lässt sich nicht an eine bestimmte IP binden

Diese Funktionalität wurde aus dem Code entfernt und ist somit nicht mehr in allen Versionen verfügbar. Für nähere Informationen hier der Link zum Bug-Report 🇬🇧 inkl. Stellungsnahme der Entwickler.

MiniDLNA erkennt nicht die Dateien auf einer zweiten Festplatte

Im gesamten Pfad, einschließlich /media, muß der Benutzer root in den aktuellen BENUTZER geändert werden.

Diese Revision wurde am 2. Juli 2018 08:21 von fir erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Multimedia, Netzwerk, Server, Streaming, UPnP, DLNA