ubuntuusers.de

ubuntuusers.deWikiReadyMedia

ReadyMedia

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

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

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 {en} (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

Ab Ubuntu 11.10 kann ReadyMedia aus den offiziellen Paketquellen installiert [1] werden:

  • minidlna (universe)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install minidlna 

sudo aptitude install minidlna 

Manuell

Auf der Homepage {en} {dl} 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

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

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

sudo aptitude install 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 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:

    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 (Dienste) 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.

Diese Revision wurde am 10. August 2014 12:03 von aasche erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Multimedia, Netzwerk, Server, Streaming, UPnP