Muggle-plugin

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Mugglei)
(Optionen beim Kompilieren)
Zeile 45: Zeile 45:
 
| bgcolor=#efefef | HAVE_PG=1
 
| bgcolor=#efefef | HAVE_PG=1
 
| Als Datenbank wird PostGresql verwendet.
 
| Als Datenbank wird PostGresql verwendet.
 +
|-
 +
| bgcolor=#efefef | MUSICDIR=/mnt/music
 +
| Dies ist die Vorgabe für Option -t - dies gilt also, wenn man -t nicht übergibt.
 
|}
 
|}
  

Version vom 24. Dezember 2008, 13:22 Uhr

Inhaltsverzeichnis

Beschreibung

Autoren: Andi Kellner, Lars von Wedel, Ralf Klueber, Wolfgang Rohdewald

Das Plugin bietet eine Datenbankverbindung für den VDR, so dass die Medienauswahl flexibler wird. Es stehen verschiedene Datenbanken zur Verfügung. Welche verwendet wird, muss man beim Kompilieren festlegen. Es gibt Backends für MySql Server, MySql Embedded, Postgresql und sqlite3. Details siehe README.mysql, README.postgresql, README.sqlite.


Bilder

Einstellungen

Softwareanforderungen

  • mySQL oder sqlite oder postgresql
  • libid3tag
  • libmad
  • taglib
  • libvorbis >= libogg (optional)
  • flac >= libogg >= nasm (optional)
  • wenn auch das radio - Plugin verwendet wird, bitte die neueste Version verwenden (kenne die Versionsnummer noch nicht). Bis vorgestern (22.12.2008) erzeugte das radio - Plugin Fehlermeldungen in der Art ERROR: x.mp3/001.vdr: Ist kein Verzeichnis

Installation

Optionen beim Kompilieren

HAVE_VORBISFILE=1 verwende libvorbis und libvorbisfile für die Wiedergabe von OGG Vorbis Dateien
HAVE_FLAC=1 verwende libFLAC++ für die Wiedergabe von FLAC Dateien
HAVE_SNDFILE=1 verwende libsndfile für die Wiedergabe von .wav Dateien
HAVE_ONLY_SERVER=1 Macht nur für MySql Sinn: Keine Unterstützung für MySql Embedded.
HAVE_SQLITE=1 Als Datenbank wird SQLite 3 verwendet.
HAVE_MYSQL=1 Als Datenbank wird MySql verwendet.
HAVE_PG=1 Als Datenbank wird PostGresql verwendet.
MUSICDIR=/mnt/music Dies ist die Vorgabe für Option -t - dies gilt also, wenn man -t nicht übergibt.


Source

  • libID3Tag
cd $SOURCEDIR
tar xvzf libid3tag-<VERSION>.tar.gz
cd libid3tag-<VERSION>
./configure --prefix=/usr/local
make
make install
  • libMAD
cd $SOURCEDIR
tar xvzf libmad-<VERSION>.tar.gz
cd libmad-<VERSION>
./configure --prefix=/usr/local
make
make install
  • libOGG
cd $SOURCEDIR
tar xvzf libogg-<VERSION>.tar.gz
cd libogg-<VERSION>
./configure --prefix=/usr/local
make
make install
  • libVorbis
cd $SOURCEDIR
tar xvzf libvorbis-<VERSION>.tar.gz
cd libvorbis-<VERSION>
./configure --prefix=/usr/local \
            --with-ogg-libraries=/usr/local/lib
make
make install
  • Flac
cd $SOURCEDIR
tar xvzf flac-<VERSION>.tar.gz
./configure --prefix=/usr/local \
            --with-ogg-libraries=/usr/local/lib
make
make install
  • Taglib
cd $SOURCEDIR
tar xvzf taglib-<VERSION>.tar.gz
cd taglib-<VERSION>
./configure --prefix=/usr/local
make
make install

Sofern wir den Server nicht Binär installieren konnten, installieren wir als nächstes mysql.

  • MySQL
cd $SOURCEDIR
tar xvzf mysql-<VERSION>.tar.gz
cd mysql-<VERSION>
./configure --prefix=/usr/local \
            --libexecdir=/usr/local/bin \
            --without-extra-tools \
            --without-bench
make
make install

Nach der erfolgten Installation von mysql folgen noch ein paar weitere für muggle wichtige Installationsschritte.

cd /usr/local/lib
ln -s mysql/libmysqlclient.so* .
groupadd mysql
useradd -g mysql mysql
cd ..
chown -R mysql var
ldconfig
mysql_install_db --user=mysql &

Die Installation des Plugins erfolgt an der allbekannten Stelle $SOURCEDIR/VDR/PLUGINS/src vor:

cd $SOURCEDIR/VDR/PLUGINS/src
tar xvzf vdr-muggle-<VERSION>.tgz
ln -s muggle-<VERSION> muggle

Ansonsten können wir nun das Plugin wie gewohnt übersetzen.

cd $SOURCEDIR/VDR
make plugins

Kopieren von mugglei in den PATH.

cp $SOURCEDIR/VDR/PLUGINS/src/muggle/mugglei /usr/local/bin

mysql-Datenbank befüllen

Als erstes starten wir den mysql-Server mit.

mysqld_safe --user=mysql &

Nun können wir die Datenbank füttern. Dazu starten wir den vdr, gehen in den Setup vom muggle - Plugin und wählen den Befehl "Datenbank synchronisieren".

Normalerweise ist das aber nicht nötig - wenn muggle die Datenbank nicht findet, fragt er, ob er sie anlegen und automatisch füttern soll.

Übergabe für VDR.

vdr -P'muggle -t /mp3'

Für das automatische Starten des Mysql Daemons...

Unterhalb von ../support-files im Sourceverzeichnis, befinden sich Templates.

Ein Eintrag in der /etc/init.d/boot.local (falls vorhanden) sollte auch langen.

# starting mysqld daemon
/usr/local/bin/mysqld_safe --user=mysql &

Arch-Linux

pacman -S libid3tag libmad flac taglib libvorbis libsndfile mysql

Crux

prt-get libid3tag libmad flac taglib libvorbis libsndfile mysql

Dannach...

sed -i "1i/usr/lib/mysql" /etc/ld.so.conf
ldconfig

Debian

apt-get install libid3tag0-dev libmad0-dev libflac++-dev libtag1-dev libvorbis-dev libsndfile1-dev libwrap0-dev

Gentoo

emerge libid3tag libmad flac taglib libvorbis libsndfile mysql

SuSE

yast -i libid3tag-devel mad-devel flac-devel taglib-devel libvorbis-devel libsndfile-devel mysql-devel

Konfiguration

Parameter

Plugin

Parameter (kurz) Parameter (lang) Beschreibung
-h HHHH --host=HHHH specify database host (default is localhost)
-s SSSS --socket=PATH specify database socket (default is TCP connection)
-n NNNN --name=NNNN specify database name (overridden by -g)
-p PPPP --port=PPPP specify port of database server (default is )
-u UUUU --user=UUUU specify database user (default is )
-w WWWW --password=WWWW specify database password (default is empty)
-t TTTT --toplevel=TTTT specify toplevel directory for music (default is /mnt/music)
-d DIRN --datadir=DIRN specify directory for embedded sql data (default is $HOME/.muggle)
-v --verbose specify debug level. The higher the more (default is 1)

Mugglei

Je nach dem, welche Datenbank verwendet wird, stehen manche Optionen nicht zur Verfügung.

Parameter Lange Form Beschreibung
-h <hostname> --name=<hostname> Rechnername vom Datanbankserver (Vorgabe 'localhost')
-p <port> --port=<port> Port vom Datenbankserver (Vorgabe datanbankspezifisch)
-s <socket> --socket=<socket> Socket zur Datenbank (Vorgabe datenbankspezifisch, bei MySql ist es TCP)
-n <database> --name=<database> Name der Datenbank (Vorgabe 'GiantDisc')
-u <username> --user=<username> Benutzername für Datenbank (Vorgabe: leer)
-w <password> --password=<password> Passwort für Datenbank (Vorgabe: leer)
-t <topleveldir> --toplevel=<topleveldir> Name des Musikverzeichnisses (Vorgabe ist /mnt/music respektive der beim Kompilieren angegebene Wert)
-z --delete lösche alle Einträge in der Datenbank, deren Musikdateien fehlen
-c --create lösche die ganze Datenbank und generiere sie neu
-v --verbose Gesprächigkeit, je höher, desto mehr. Default ist 1.
-d <dirname> --datadir=<dirname> Hier wird die Datenbank angelegt, wenn eine "embedded" Datenbank verwendet wird (sqlite3 oder je nach Konfiguration MySql) (Vorgabe: "$HOME/.muggle")


Snapshot

 cd $VDRSOURCEDIR/PLUGINS/src
 svn co https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/trunk/muggle-plugin/ muggle


Links

  1. Homepage des Plugins
  2. mySQL
  3. MAD (M)PEG (A)udio (D)ecoder Homepage
  4. Ogg Vorbis CODEC Project
  5. Taglib - Audio Meta-Data Library
  6. Snd2usb für muggle zum Schreiben auf USB Stick
  7. Flac
In anderen Sprachen