Ubuntu 12.04 „Precise Pangolin“
Ubuntu 11.10 „Oneiric Ocelot“
Ubuntu 10.04 „Lucid Lynx“
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.
MiniDLNA 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.
Ab Ubuntu 11.10 kann minidlna aus den offiziellen Paketquellen installiert [1] werden:
minidlna (universe)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install minidlna
sudo aptitude install minidlna
Auf der Homepage
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.
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
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/
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
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/
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
Um den DLNA Dienst automatisch zu starten, kann entweder upstart oder SysVinit benutzt werden.
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 |
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
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.
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
Den aktuellen Stand der Datenbank kann man durch ein kleines Webfrontend erfahren. Auf dem lokalen Rechner ist es unter http://localhost:8200/
erreichbar.
Mediatomb - Alternative zu MiniDLNA
uShare - weitere Alternative zu MiniDLNA
Musik verwalten - weitere Möglichkeiten Ubuntu zu einem Medienserver zu machen