Image-plugin

Aus VDR Wiki
Wechseln zu: Navigation, Suche

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

Vorschau 3x3

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)

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
# install prefix (/usr/local/netpbm) ==> /usr/local
                                        ^^^^^^^^^^
./installnetpbm
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

Kompilieren des Plugins

Es wird davon ausgegangen, das das Plugin bereits entpackt und verlinkt wurde, siehe Plugin Installation.

cd $SOURCEDIR/VDR
make all plugins
Hinweis:

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

Arch-Linux

pacman -S netpbm libexif

Crux

prt-get netpbm libexif

Debian

apt-get install netpbm libexif-dev

Gentoo

emerge netpbm libexif

SuSE

yast -i netpbm libexif

Konfiguration

Abschliessend zur Installation ist die Datei imagesources.conf in den VDR Konfigurations Ordner zukopieren, und mit einem Editor den eigenen Gegebenheiten und Vorlieben anzupassen.

cp $SOURCEDIR/VDR/PLUGINS/src/image/examples/imagesources.conf /etc/vdr/plugins

Ebenfalls müssem die Skipte für die Bildkonvertierung und das Einhängen von Datenträgern kopiert werden. Das Zielverzeichnis kann im PATH liegen, kann aber auch per Kommandozeilenparameter frei definiert werden.

cp $SOURCEDIR/VDR/PLUGINS/src/image/scripts/imageplugin.sh /usr/local/bin
cp $SOURCEDIR/VDR/PLUGINS/src/image/scripts/mount.sh /usr/local/bin

Aufruf des Plugins mit.

vdr -P'image -m /usr/local/bin/mount.sh -C /usr/local/bin/imageplugin.sh'

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 imagecmds.conf gehört in den VDR Konfigurations Ordner /etc/vdr/plugins.

Aufgerufen wird dieses Befehlsmenu mit
Rot
(ein Bild muß geladen worden sein...)

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.

Wunschliste

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

Links

[1] http://vdr-image.berlios.de Homepage des Plugins
[2] http://netpbm.sourceforge.net Netpbm Projektseite
[3] http://ffmpeg.sourceforge.net ffmpeg Projektseite
[4] http://libexif.sourceforge.net/ libexif Projektseite
[5] ftp://ftp.astron.com Ftp "file"
In anderen Sprachen