Einige Hersteller bieten Zusatzsoftware für ihre Digitalkamera an, mit der Sie diese über den Computer fernzusteuern – etwa, um Intervallfotos aufzunehmen. Der Sternenhimmel oder die Entwicklung von Pflanzen eignen sich beispielsweise als gute Motive. Allerdings stellen Anbieter wie Canon und Nikon ihren Kunden ausschließlich Software für Windows und Mac OS zur Verfügung; Nikon verlangt sogar 59 Euro für ein entsprechendes Programm [1]. Darüber hinaus ist die Closed-Source-Software nicht skriptingfähig, was die Möglichkeiten erheblich einschränkt.

Gphoto

Das von Manfred Meissner ins Leben gerufene Projekt Gphoto [2] besteht hauptsächlich aus der Bibliothek Libgphoto2, dem Kommandozeileninterface Gphoto2 und dem grafischen Frontend Gtkam (siehe Kasten "Grafische Oberfläche Gtkam"). Die Software erlaubt es, den Status von Digitalkameras auszulesen und zu verändern, Dateien in beide Richtungen zu kopieren und Digitalkameras fernzusteuern.

Bislang unterstützt Gphoto mehr als 1100 Digitalkamera-Modelle. Wegen des unkooperativen Verhaltens der Hersteller waren die Entwickler gezwungen, fast alle Protokollinformationen mit Hilfe von Reverse Engineering zu ermitteln. Das ist auch der Grund, warum die Software nicht alle Features jeder Digicam unterstützt. Während die meisten aktuellen Digitalkameras für einfache Aufgaben, etwa den Transfer der Bilder, den bekannten Standard Picture Transfer Protocol (PTP) nutzen, sind die Protokolle zum Fernsteuern gänzlich undokumentiert. Die Beispiele in diesem Artikel wurden mit einer Canon 50D getestet und sollten mit geringen Anpassungen bei allen anderen von Gphoto unterstützten Digitalkameras (insbesondere den Modellen von Canon) funktionieren.

Grafische Oberfläche Gtkam

Das grafische Frontend Gtkam (Abbildung 1) bietet bislang nur einfachste Funktionen, erleichtert aber den Download der Bilder sehr. Aus einem Dropdownmenü wählen Sie bequem die angeschlossene Digitalkamera aus, mithilfe der Vorschaubilder navigieren Sie im Bildbestand. Das Fernsteuerung von Digitalkameras ermöglicht Gtkam nicht. Mehr Komfort als Gtkam bieten Anwendungen wie etwa das KDE-Tool Digikam [3].

Abbildung 1: Mit dem grafischen Frontend Gtkam von Gphoto gestaltet sich der Transfer von Bildern zum Kinderspiel. Ein Fernsteuern der Kamera erlaubt die Oberfläche jedoch nicht.

Datenverwaltung

Bevor Sie mit Gphoto arbeiten, überprüfen Sie zunächst, ob der Übertragungsmodus Ihrer Kamera auf PTP steht – andernfalls kann das Programm nicht mit ihr zusammenarbeiten. Um zu ermitteln, ob Gphoto das Kameramodell korrekt erkennt, tippen Sie in der Konsole gphoto2 --auto-detect. Danach sollte folgende Ausgabe erscheinen:

$ gphoto2 --auto-detect
Modell               Port
———————————
Canon EOS 50D        usb:

Im Beispiel fand die Software die Canon 50D. Der Befehl gphoto2 --summary liefert einige grundlegende Informationen über die Kamera. Dazu gehören die eingesetzte Speicherkarte (Kapazität und Füllstand), Bezeichner, Seriennummer, Firmware-Version und unterstützte Dateiformate. Hängen Sie den Schalter --list-files an, erscheint eine Liste aller auf der Speicherkarte befindlichen Bilder. Um diese herunterzuladen, benutzen Sie --get-all-files. Eine Auswahl weiterer Schalter zur Datei- und Verzeichnisverwaltung zeigt die Tabelle "Gphoto: Schalter zur Datenverwaltung".

Gphoto: Schalter zur Datenverwaltung

Schalter Funktion
--list-folders Liste der Unterverzeichnisse ausgeben
--list-files Dateiliste ausgeben
--mkdir=Ordner Verzeichnis anlegen
--rmdir=Ordner Verzeichnis löschen
--num-files Anzahl der Dateien zeigen
--get-all-files Alle Dateien im Verzeichnis holen
--get-all-raw-data Alle Rohdaten im Verzeichnis holen
--get-all-audio-data Alle Audiodaten im Verzeichnis holen
--delete-all-files Alle Dateien im Verzeichnis löschen
--upload-file=Datei Datei auf Kamera hochladen
--folder=Ordner Angabe des Kameraverzeichnisses
--recurse Rekursion
--no-recurse Keine Rekursion
--storage-info Informationen zur Speicherkarte
--new Nur neue Dateien bearbeiten
--force-overwrite Dateien ohne Nachfrage überschreiben

Fernsteuern

Während das Herunterladen von Daten bei etwa 1100 Digicam-Modellen problemlos klappt, funktioniert das Fernsteuern mit Gphoto bei nicht einmal 10 Prozent davon [4]. Die meisten unterstützten Modelle kommen von Nikon und Canon; für Kameras von Samsung, Sigma und Sony steht diese Funktion derzeit nicht zur Verfügung.

Der Aufruf gphoto2 --list-config zeigt alle unterstützen Funktionen, welche die Software für die angeschlossene Kamera bietet. Bei Canon-Spiegelreflexkameras wie der 50D und 400D erweitern Sie den Aufruf um capture=on, da das Programm andernfalls nicht alle Konfigurationsparameter anzeigt (Listing 1). Der Schalter --get-config liest alle Konfigurationsparameter und deren möglichen Werte aus, mit --set-config weisen Sie diese zu. So gibt Gphoto zum Beispiel mit dem Kommando aus Listing 2 alle verfügbaren ISO-Empfindlichkeitsstufen aus.

Um beispielsweise den ISO-Wert auf 1600 zu setzen, genügt das Kommando gphoto2 --set-config capture=on --set-config eos-iso=1600. Die möglichen Werte von Konfigurationsparametern wie ISO-Wert (eos-iso), Belichtungskompensation eos-exposurecompensation), Weißabgleich eos-whitebalance) oder Bildstil (picturestyle) hängen von der eingesetzten Kamera ab. Die möglichen Werte für die Blende (eos-aperture) gibt das eingesetzte Objektiv vor (Listing 3). Beachten Sie, dass Sie den Pfad hinter --get-config= an Ihr Kameramodell anpassen müssen.

Listing 1
$ gphoto2 --set-config capture=on --list-config
/main/settings/eos-time
/main/settings/eos-synctime
(…)
/main/imgsettings/eos-iso
/main/imgsettings/eos-whitebalance
/main/capturesettings/eos-exposurecompensation
/main/capturesettings/picturestyle
(…)
Listing 2
$ gphoto2 --set-config capture=on --get-config=/main/imgsettings/eos-iso
Label: EOS ISO-Geschwindigkeit
Type: RADIO
Current: 400
Choice: 0 Auto
Choice: 1 100
Choice: 2 200
(…)
Choice: 6 3200
Listing 3
$ gphoto2 --set-config capture=on --get-config=/main/capturesettings/eos-aperture
Label: EOS Blende
Type: RADIO
Current: 5.6
Choice: 0 1.4
Choice: 1 1.6
Choice: 2 1.8 (1/3)
(…)
Choice: 24 22

Serienbilder mit Gphoto

Im Beispiel aus Listing 4 macht Gphoto mit der Kamera fünf Bilder mit ISO 200 und Blende 2.8 im Abstand von jeweils 10 Sekunden. Es transferiert sie automatisch in das Verzeichnis in dem Sie das Kommando absetzen.

Listing 4
$ gphoto2 --set-config capture=on --set-config eos-iso=200 --set-config eos-aperture=6 --frames=5 --interval=10 --capture-image-and-download

Dafür benötigen Sie nicht einmal eine Speicherkarte, da die Kamera die Bilder ohne Umwege vom Zwischenspeicher auf die Festplatte schiebt. Stellen Sie sicher, dass die Kamera bei einer solchen Anwendung nicht RAW- und JPG-Bilder gleichzeitig generiert. Andernfalls verstopfen Ihnen die großen RAW-Dateien nach kurzer Zeit den Zwischenspeicher, da nur die JPGs automatisch übertragen und damit aus dem Speicher gelöscht werden. Sollen die Bilder nicht automatisch auf den Computer wandern, geben Sie anstelle von --capture-image-and-download die Option --capture-image an.

Möchten Sie eine Limitierung der Anzahl der Bilder weglassen und Gphoto so lange fotografieren lassen, bis entweder die Platte voll oder der Akku leer ist, löschen Sie aus dem Beispiel den Schalter --frames. Soll die Software nach dem Transfer eines Bildes immer eine Aktion ausführen, geben Sie die Option --hook-script=Datei an. Diese startet dann das angegebene Skript, das dann beispielsweise das Bild umbenennt, verschiebt, auf einen FTP-Server hochlädt oder eine E-Mail versendet.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Related content

Kommentare
gphoto2 und die Eingabeaufforderung....
medienverbinder (unangemeldet), Montag, 21. September 2009 09:07:33
Ein/Ausklappen

Gphoto2 war für mich eine wichtige Komponente für ein das Ansteuern einer serverseitigen Kamera. Schon allein die Möglichkeit das Tool über eine entsprechende Schnittstelle (z.B. PHP / CGI) via Netzwerk zu benutzen macht es unheimlich vielseitig.

Mit der option "gphoto2 --capture-image-and-download –filename=[Pfad+Dateiname]" lassen sich die Aufnahmen direkt auf der Festplatte speichern. Eine entsprechenden Eindruck für ein Projekt auf Basis von gphoto2 u.a. Komponenten gibt es hier:

http://www.youtube.com/watch?v=5lfTalmHIR8


Medienverbinder


Bewertung: 207 Punkte bei 23 Stimmen.
Den Beitrag bewerten: Gut / Schlecht