Image-plugin
(→Source) |
(→Übersetzen des Plugins) |
||
Zeile 79: | Zeile 79: | ||
make all plugins | make all plugins | ||
− | + | {{Box Hinweis | Wenn sich beim make der Compiler über ein nicht gefundenes -lavutil beschwert, dann im Makefile des Plugins den Eintrag. | |
− | + | ||
− | + | <pre> | |
− | + | LIBS += -lavcodec | |
− | + | ifneq ($(FFMVERSION),000408) | |
− | Wenn sich beim make der Compiler über ein nicht gefundenes -lavutil beschwert, dann im Makefile des Plugins den Eintrag | + | LIBS += -lavformat -lavutil |
− | + | endif | |
− | + | </pre> | |
− | + | ||
− | + | Durch den folgenden ersetzen. | |
− | + | ||
− | + | <pre> | |
− | + | LIBS += -lavformat | |
− | + | </pre> | |
+ | }} | ||
Damit das image-Plugin vom VDR aufgerufen wird, muss dieses in der [[runvdr]] mittels Parameter '''-P''' geladen werden. | Damit das image-Plugin vom VDR aufgerufen wird, muss dieses in der [[runvdr]] mittels Parameter '''-P''' geladen werden. |
Version vom 6. Mai 2006, 10:41 Uhr
Inhaltsverzeichnis |
Beschreibung
Autor: Andreas Brachold
Zeigt Bilder an, die im Format jpeg, tiff, png, bmp und vielen mehr abgespeichert sind
Da die Bilder nicht über die Grafikkarte, sondern über die DVB-Karte ausgegeben werden, müssen sie erst in einen MPEG2 Film konvertiert werden. Dieser enthält nur ein einziges Bild (Frame) und steht sofort auf 'Pause'.
Bilder
Hardwareanforderungen
- Eine DVB-Karte, aber die ausgabe über andere Wege, wie eine DXR3-Karte oder das Xine-plugin funktionieren meist auch.
- Da die Konvertierung auf langsamen Prozessoren einige Zeit dauert, ist dieses Plug-In nicht auf jeder Hardware praxistauglich, 500 Mhz sollten es schon sein.
Softwareanforderungen
- netpbm (benötigt selber zlib, libpng, libjpeg, ...)
- ffmpeg
- libexif
- file (optional, wird von netpbm genutzt)
Installation
Source
Die erforderlichen Pakete werden, wie im allgemeinen mit dem Dreisatz "configure && make && make install" kompiliert. Dabei ist speziell bei netpbm die Ausgabe von "configure" zu kontrollieren, welche weiteren Programmpakete fehlen.
- netpbm
cd $SOURCEDIR tar xvzf netpbm-<VERSION>.tgz cd netpbm-<VERSION> ./configure make make package ./installnetpbm # Auf Frage antworten: install prefix (/usr/local/netpbm) ==> /usr/local ^^^^^^^^^^ rm -r /tmp/netpbm
- libexif
cd - tar xvzf libexif-<VERSION>.tar.gz libexif-<VERSION> ./configure --prefix=/usr/local make make install
- ffmpeg
cd - tar xvzf ffmpeg-<VERSION>.tar.gz cd ffmpeg-<VERSION> ./configure --prefix=/usr/local \ --enable-shared make make install ldconfig
Pakete installieren
Statt der händischen Installation der abhängigen Softwareprogramme aus deren Quellcodepakten bietet es sich an für die verschieden Distributionen auf deren vorkompiliere Binärpakete zurückzugreifen.
Arch-Linux
pacman -S netpbm libexif ffmpeg
Crux
prt-get netpbm libexif ffmpeg
Debian
Quelle: http://www.vdrwiki.com/index.php/M%C3%B3dulo_osdpip
apt-get install netpbm libexif-dev ffmpeg libavcodeccvs libavcodeccvs-dev
Gentoo
emerge netpbm libexif ffmpeg
SuSE
yast -i netpbm libexif <BITTE ERGÄNZEN>
Übersetzen des Plugins
Es wird davon ausgegangen, das das Plugin bereits entpackt und verlinkt wurde, siehe Plugin Installation.
cd $SOURCEDIR/VDR make all plugins
Wenn sich beim make der Compiler über ein nicht gefundenes -lavutil beschwert, dann im Makefile des Plugins den Eintrag.
LIBS += -lavcodec ifneq ($(FFMVERSION),000408) LIBS += -lavformat -lavutil endif
Durch den folgenden ersetzen.
LIBS += -lavformat
Damit das image-Plugin vom VDR aufgerufen wird, muss dieses in der runvdr mittels Parameter -P geladen werden.
VDRCMD="$VDRPRG -P'image' -P'anderes_plugin' -w 60 $*"
Für die Bildkonvertierung werden vom image-Plugin noch zwei mitgelieferte Skripte benötigt. Diese Skripte zur Bildkonvertierung und das Einhängen von Datenträgern sollten in ein Verzeichnis innerhalb des PATH kopiert oder verlinkt werden. Hierzu würde sich das Verzeichnis /usr/local/bin anbieten.
ln -s $SOURCEDIR/PLUGINS/src/image/scripts/imageplugin.sh /usr/local/bin ln -s $SOURCEDIR/PLUGINS/src/image/scripts/mount.sh /usr/local/bin
Aber der Standort der Skripte kann auch per Kommandozeilenparameter frei definiert werden. Es wie hier im Beispiel auch direkt in das Verzeichnis des Quelltext referenziert werden.
vdr -P'image --convert=$SOURCEDIR/PLUGINS/src/image/scripts/imageplugin.sh ...
Abschliessend zur Installation ist die Datei imagesources.conf in den VDR Konfigurations Ordner zukopieren. In dieser Datei werden alle genutzten Datenträger wie Laufwerke für Speicherkarten, CDROM-Laufwerke oder lokale Festplatten mit Bildverzeichnisse einzutragen. Das Standardverzeichnis dafür ist $VDRCONFIG/plugins.
Nicht wirklich notwendig kann dieser Ordner aber abweichend vom Standardverzeichnis für Konfigurationsdateien aller Plugins, mit einer unten aufgeführten Kommandozeilenoption den persönlichen Vorlieben angepasst werden. Hier als Beispiel mittels der Kommandozeilenoption --config=image :
mkdir -p $VDRCONFIG/plugins/image cp $SOURCEDIR/PLUGINS/src/image/examples/imagesources.conf $VDRCONFIG/plugins/image
Aufgerufend werden muss das Plugin dann mit
vdr -P'image --config=image ...
Parameter
Parameter (kurz) | Parameter (lang) | Beschreibung |
---|---|---|
-m KMD | --mount=KMD | KMD für mount/unmount/eject Bilddatenträger (default: mount.sh) |
-C KMD | --convert=KMD | verwendetes KMD zum Wandeln der Bilder (default: imageplugin.sh) |
-c PATH | --config=PATH | Verzeichnis zum Ablegen der Konfigurationsdaten, die Angabe ist relativ zum VDR Plugin Konfigurationsverzeichnisses (default: "") |
Bedienung
Nach dem Aufrufen des Menüpunktes "Bilder" entweder eine Bilddatei oder einen Dateiordner mit weiteren Bilder mittels der FB-Taste "OK" auswählen.
Alle Modi
OK | Umschalten der OSD Informationen |
---|---|
Play/Pause | Starte Diaschau/ Stoppe Diaschau |
Stop/Blau | Stoppe Plugin |
Rot | Öffne Menu mit Bildbefehle |
Während der Bildbetrachtung
Zurück | Stoppe Plugin |
---|---|
Links | vorheriges Bild |
Rechts | nächstes Bild |
Ab | Springe drei Bilder zurück |
Auf | Springe drei Bilder vorwärts |
7 | Springe fünf Bilder zurück |
9 | Springe fünf Bilder vorwärts |
0 | Zeige Originalbild |
1 | Drehe 90 Grad gegen den Uhrzeigersinn |
3 | Drehe 90 Grad im Uhrzeigersinn |
4 | Diaschau-Anzeigezeit für Bilder in Sekunden verkleinern |
6 | Diaschau-Anzeigezeit für Bilder in Sekunden erhöhen |
5 | "Zoomwert erhöhen" und damit Zoom-Bedienung starten |
8 | "Zoomwert verkleinern" und damit Jump-Bedienung starten |
Zoom-Bedienung
Zurück | Zoomwert verkleinern |
---|---|
Links | Bildausschnitt nach Links verschieben |
Rechts | Bildausschnitt nach Rechts verschieben |
Ab | Bildausschnitt nach Unten verschieben |
Auf | Bildausschnitt nach Oben verschieben |
0 | view original image |
5 | Zoomwert erhöhen |
8 | Zoomwert verkleinern |
Vorschau-Menu (3x3 Übersicht)
Zurück | Zeige Originalbild |
---|---|
Links | vorherige Bildgruppe (9 Bilder weiter in der Vorschau) |
Rechts | nächste Bildgruppe (9 Bilder vorher in der Vorschau) |
0 | Zeige Originalbild |
1 ... 9 | Wählt ensprechendes Bild |
Probleme
- dxr3
Falls man das dxr3 und das Image-Plugin gemeinsam trotzdem nutzen will, sollte man im dxr3plugin-Sourcecode anpassen.
- netpbm 10.30
Besagte Version hat mit pnmfile ein anderes Ausgabeformat, aber ich habe mich nicht getraut eine Bugreport zuschreiben :
imageplugin.sh: pnmfile < "$TMPFILE" - imageplugin.sh: +++ pnmfile - imageplugin.sh: pnmfile: bad magic number - not a PAM, PPM, PGM, or PBM file .... imageplugin.sh: /usr/local/bin/imageplugin.sh: line 135: -:00 / -:: syntax error: operand expected (error token is ":00 / -:") imageplugin: Error until read /tmp/image/VFuN1R6.pnm :
Ein paar Versionen zurück 10.28 funktioniert es.
Tipps
frei definierbare Befehle
Quelle ../image/README
Die optionale Datei imagecmds.conf kann dazu genutzt werden, um frei definierbare Befehle auf das jeweils aktuell angezeigte Bild anzuwenden. Die Syntax ist exakt die Gleiche wie für die Datei commands.conf unter "man 5 vdr" beschrieben wurde. Wenn ein Befehl ausgeführt wird, wird der Datei des Bildes angehängt an den Befehlstext, getrennt durch ein Leerzeichen und einschlossen in Anführungszeichen (single quotes). Ein Fragezeichen "?" im Text vor dem ":" steht für "Bestätigung anfordern", nützlich für "rm -f %s".
Die Datei imagecmds.conf muss im gleichen Ordner, wie die anderen Konfigurationsdateien des Plugins gespeichert werden.
Aufgerufen wird dieses Befehlsmenu mit
Snapshot
Der letzte Entwicklerstand des Plugins ist auf dem BerliOS Developer SVN Repository verfügbar.
Er kann per anonymen SVN Zugang (svnserve) mit dem folgenden Befehlsatz heruntergeladen werden.
Für das erste Auslesen des svn-Repositories
cd $VDR-SOURCE-DIRECTORY/PLUGINS/src svn checkout svn://svn.berlios.de/vdr-image/trunk image
und später, zum aktualiseren des Repositories
cd $VDR-SOURCE-DIRECTORY/PLUGINS/src/image svn up