ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.

MiniDLNA

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

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

MiniDLNA {en} stellt einen DLNA-Server zur Verfügung. Ubuntu, ausgestattet mit MiniDLNA, 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 abrufbar.

Installation

Ab Ubuntu 11.10

Ab Ubuntu 11.10 kann minidlna 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 Archive zur Verfügung. Das Archiv minidlna_1.0.xx_static.tar.gz enthält das vorkompilierte Programm. Hingegen muss beim Archiv minidlna_1.0.xx_src.tar.gz MiniDLNA noch kompiliert werden.

Kompiliertes Programm

Dies ist eine einfache Möglichkeit, das Programm direkt vom Entwickler auf dem eigenen System einzurichten. Zum Ausführen der vorkompilierten Anwendung müssen die folgenden Pakete installiert[1] sein:

  • libexif12

  • libjpeg62

  • libid3tag0

  • libflac8

  • libvorbisfile3

  • sqlite3

  • libavformat52

  • libuuid1

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

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

sudo aptitude install libexif12 libjpeg62 libid3tag0 libflac8 libvorbisfile3 sqlite3 libavformat52 libuuid1 

Anschließend das Terminal öffnen[4], das oben genannte Archiv entpacken[6] und in das entpackte Verzeichnis wechseln:

tar -xzf minidlna_1.0.XX_static.tar.gz
cd minidlna 

Das Programm mit Root-Rechten[7] in das Verzeichnis /usr/sbin kopieren:

sudo cp usr/sbin/minidlna /usr/sbin 

Die Konfigurationsdatei minidlna.conf ebenfalls mit Root-Rechten unter /etc ablegen:

sudo cp etc/minidlna.conf /etc/ 

MiniDLNA kompilieren

Der Vorteil beim Kompilieren besteht u.a. darin, dass es auf unterschiedlichen Rechnerarchitekturen läuft und sich Patches zur Erweiterung der Programmfunktionalität einspielen lassen. Zudem besteht die Möglichkeit, sich den aktuellsten Entwicklerquellcode mittels CVS herunterzuladen.

Vor dem Kompilieren muss man die nachfolgenden Pakete installieren[1]:

  • libsqlite3-dev

  • libjpeg62-dev

  • libexif-dev

  • libid3tag0-dev

  • libogg-dev

  • libvorbis-dev

  • libflac-dev

  • libavutil-dev

  • libavformat-dev

  • libavcodec-dev

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install libsqlite3-dev libjpeg62-dev libexif-dev libid3tag0-dev libogg-dev libvorbis-dev libflac-dev libavutil-dev libavformat-dev libavcodec-dev  

sudo aptitude install libsqlite3-dev libjpeg62-dev libexif-dev libid3tag0-dev libogg-dev libvorbis-dev libflac-dev libavutil-dev libavformat-dev libavcodec-dev  

Danach das Terminal öffnen[4], das Archiv mit dem Quellcode entpacken[6] und in das entpackte Verzeichnis wechseln:

tar -xzf minidlna_1.0.XX_src.tar.gz
cd minidlna-1.0.XX 

Das Programm mit make kompilieren[3]:

make 

Das Programm mit Root-Rechten[7] in das Verzeichnis /usr/sbin kopieren:

sudo cp minidlna /usr/sbin 

Die Konfigurationsdatei mit Root-Rechten unter /etc ablegen:

sudo cp minidlna.conf /etc/ 

Konfiguration

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 MiniDLNA nach Multimediadateien (Videos, Musik und Bildern):

    media_dir=/opt

    Die Verzeichnisse können auch pro Multimediadatei angegeben werden:

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

    friendly_name=My DLNA Server
  • Mit "inotify" wird automatisch nach neuen Dateien in "media_dir" gesucht:

    inotify=yes

Dienst automatisch starten

Um den DLNA Dienst 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, ob das Programm in das Verzeichnis /usr/sbin (default) oder /usr/bin kopiert wurde.

 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 Archiv minidlna_1.0.19_src.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
#!/bin/sh

# chkconfig: 345 99 10
# description: Startup/shutdown script for MiniDLNA daemon
#
# $Id: minidlna.init.d.script,v 1.2 2009/07/02 00:33:15 jmaggard Exp $
# MiniUPnP project
# author: Thomas Bernard
# website: http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/

MINIDLNA=/usr/sbin/minidlna
ARGS='-f /etc/minidlna.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 /var/run/minidlna.pid --startas $MINIDLNA -- $ARGS $LSBNAMES
        log_end_msg $?
        ;;
stop)   log_daemon_msg "Stopping minidlna" "minidlna"
        start-stop-daemon --stop --quiet --pidfile /var/run/minidlna.pid
        log_end_msg $?
        ;;
restart|reload|force-reload)
        log_daemon_msg "Restarting minidlna" "minidlna"
        start-stop-daemon --stop --retry 5 --quiet --pidfile /var/run/minidlna.pid
        start-stop-daemon --start --quiet --pidfile /var/run/minidlna.pid --startas $MINIDLNA -- $ARGS $LSBNAMES
        log_end_msg $?
        ;;
*)      log_action_msg "Usage: /etc/init.d/minidlna {start|stop|restart|reload|force-reload}"
        exit 2
        ;;
esac
exit 0

Damit MiniDLNA bei jedem Systemstart automatisch mitgestartet 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 MiniDLNA wie folgt:

sudo service minidlna start 

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

Datenbank erneuern

Will man die Datenbank manuell erneuern, stoppt man den Dienst und erzwingt einen "full rescan". Der Rescan muss unter dem Account "minidlna" laufen, weil sonst die Datenbank unter /var/lib/minidlna mit Rootrechten geschrieben wird und dann beim normalen Start unter dem Useraccount "minidlna" nicht geändert werden kann. Per default bekommt der Dienst aber über inotify mit, wenn neue Dateien erstellt wurden, so dass ein manueller Rescan nicht erforderlich ist.

sudo service minidlna stop
sudo -u minidlna minidlna -R
sudo service minidlna start 

Status der Datenbank abfragen

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

Intern

  • Mediatomb - Alternative zu MiniDLNA

  • uShare - weitere Alternative zu MiniDLNA

  • Musik verwalten - weitere Möglichkeiten Ubuntu zu einem Medienserver zu machen

ubuntuusers.local › WikiMiniDLNA