gphoto2: Spiegelreflex-Kamera mit Linux fernsteuern

12 März 2012 4 Kommentare Autor: Jürgen (jdo)
Uromastyx Ornata Dornschwanz-Agame Teaser

Uromastyx Ornata - Dornschwanz-Agame

Canon liefert leider nur Windows-Software aus. Das meiste davon brauche ich nicht einmal. Lediglich zeitgesteuerte Aufnahmen oder Schnappschüsse in bestimmten Zeitabständen ist an der Software interessant – Stichwort Zeitraffer. Weiterhin vermindert man das Risiko eine Verwackelns, wenn man ein Foto vom Rechner aus triggert.

Die Software mit Wine laufen zu lassen würde wahrscheinlich schon irgendwie funktionieren. Allerdings meckert die Software irgendwas mit .NET und Mono. Wenn es möglich ist, will ich dies aber vermeiden – und es ist möglich mit gphoto2.

gphoto2 ist ein Kommandzeilen-Tool, mit dem sich viele Spiegelreflex-Kameras von der Konsole aus fernsteuern lassen. Das mag sich zunächst ein bisschen krude anhören. Allerdings kann gphoto2 sehr viel mehr als die Windows-Software von Canon. Man kann es nämliche scripten. Sogar nach jedem Foto könnte man automatisch ein Script auslösen lassen, womit der Fantasie keine Grenzen gesetzt sind.

Der einzige Nachteil ist, dass ich keinen Live-Modus habe. So tragisch ist das aber gar nicht. Wenn man vom Rechner aus ein Bild schießen möchte, dann ist das meist sowieso mit Stativ und Vorbereitungs-Zeit verbunden. Doch fangen wir erst einmal ganz von vorne an und arbeiten uns dann zu komplizierteren Dingen vor.

Installation, Unterstützung und erste Schritte

gphoto2 ist mit Sicherheit in den Repositories der großen Distributionen enthalten. Unter Ubuntu lässt es sich über das Software-Center, Synaptic oder via sudo apt-get install gphoto2 einspielen. Bevor Du es installierst könntest Du allerdings einen schnellen Blick auf die Liste der unterstützten Kameras werfen. Meine Canon EOS 7D wird sehr gut unterstützt und es finden sich auch eine ganze Reihe Nicht-SLRs in der Liste. Nach der Installation könntest Du die unterstützten Modelle auch mittels gphoto2 –list-cameras aufrufen.

gphoto2 list-config

Ist die Kamera unterstützt, listet gphoto2 auch brav die Konfigurations-Möglichkeiten auf.

Um ganz sicher zu gehen, könntest Du Deine Kamera auf via USB anschließen und dann gphoto2 –list-config aufrufen. Bringt das ein Ergebnis, dann darfst Du Dich freuen 🙂 In meinem Fall sieht das so aus, wie im Screenshot neben diesem Absatz. Hier musst Du aufpassen, in welchem Modus sich die Kamera befindet. Du wirst im Panik-Modus (P) weniger Optionen angezeigt bekommen, wie im manuellen (M).

Nun kannst Du die einzelnen Parameter mittels –get-config auslesen und via –set-config neu setzen.

gphoto2 Blende setzen

Blende (Aperture) einstellen

Bei der EOS 7D kann ich die Blende zum Beispiel mit gphoto2 –get-config=aperture auslesen. Dann bekomme ich auch gleich alle möglichen Optionen geliefert. Mittels gphoto2 –set-config aperture=10 hätte ich die Blende nun auf 9 gesetzt. Analog funktioniert dies natürlich auch mit der Verschlusszeit, den ISO-Einstellungen und so weiter.

Wenn Du gphoto2 –config aufrufst, bekommst Du übrigens eine ncurses-GUI.

Damit das funktioniert, darf die Kamera allerdings nicht eingebunden sein!

Das erste Bild

Ein Bild aufzunehmen ist eigentlich ganz einfach. Du kannst Dich entscheiden, ob das Foto auf dem Kamera-Speicher bleiben soll, oder direkt auf den Rechner. Mit letzterer Methode ist dann die Speicherbegrenzung die Festplatte des Computers und nicht der wahrscheinlich geringere Platz auf der Kamera.

gphoto2 –capture-image behält das Foto auf der Kamera und gphoto2 –capture-image-and-download zieht das Bild sofort auf den Rechner – und zwar in das Verzeichnis, in dem Du Dich gerade befindest.

Wenn Deine Kamera auf JPG und RAW eingestellt ist, kannst Du die RAW- und JPEG-Dateien so auf den Rechner speichern: gphoto2 –capture-image-and-download get-raw

Reihenaufnahmen

gphoto2 zeitgesteuert

Reihenaufnahme

Wenn Du nun also Deine Kamera auf einem Stativ eingerichtet hast und fertig für die Reihenaufnahme bist, erfolgt das nach folgendem Prinzip: gphoto2 –capture-image-and-download -F 3 -I 10.

Dieser Befehl würde nun drei Fotos in einem Abstand von 10 Sekunden aufnehmen und diese gleich auf Deinen Rechner laden.

Die Numerierung der Bilder übernimmt die Software selbst und bringt diese in eine lesbare Reihenfolge.

Scripting

Wie bereits erwähnt kannst Du gphoto2 anweisen, ein Script nach jedem geschossenem Foto auszuführen. Das geht ganz einfach: –hook-script <Dateiname>. gphoto2 liest die Umgebungsvariable ACTION aus. Du kannst ein Script auch permanent in der Datei ~/.gphoto/settings als gphoto2=hook-script=<Dateiname> festlegen. Im Zweifel einfach mal in der Dokumentation nachlesen: man gphoto2.

Mit dieser Möglichkeit sind der Fantasie kaum grenzen gesetzt. Du kannst nun alles machen, wozu Dein System in der Lage ist. Denkbar wäre zum Beispiel sofortige automatisierte Verarbeitung mittels imagemagick (convert / mogrify). Aber auch ein automatisches Hochladen via FTP oder ein Senden per E-Mail sind denkbar.

Was nicht funktioniert und Schlusswort

Aus irgendwelchen Gründen funktionieren derzeit bei mir nicht die Optionen –capture-preview und –capture-movie. Movie brauche ich nicht wirklich und ein Preview kann ich auch erzeugen, indem ich eine volle Aufnahme mache.

gphoto2 ist am Anfang sicher etwas gewöhnungsbedürftig. Aber wie bei fast jeder Software gilt: ausprobieren und dadurch lernen. Das Foto der Dornschwanz-Agame ganz oben gibt es übrigens kostenlos als Hintergrundbild. Meine Bilder unter Linux verwalte ich übrigens mit Corel AfterShot Pro – das gibt es nativ (früher Bibble).

Du kannst gerne Deinen Senf zu diesem Beitrag geben: Hier geht es zu den Kommentaren




Schreiben macht durstig! Eine kleine Erfrischung kann daher nie schaden. Wem dieser freie Artikel gefallen hat, der darf mir gerne einen frisch gezapften Hopfen-Tee ausgeben (Paypal - der Spenden-Knopf
oder bitcoin - Adresse: 1NacVNwcLLePUVv8uSafu5Ykdwh8QyDfgK). Ich freue mich über jede noch so kleine Spende. Vielen Dank und Prost!
 Alle Kommentare als Feed abonnieren

4 Kommentare zu “gphoto2: Spiegelreflex-Kamera mit Linux fernsteuern”

  1. Simon sagt:

    Hallo,

    sehr nett, dankeschön!

    Wenn du deine Bilder nicht mit Corel verwalten würdest, sondern mit darktable (http://www. darktable.org) dann hättest du sogar ein schönes grafisches Frontend für viele der Tethering-Möglichkeiten von ghpoto2.

    🙂

    Viele Grüße,
    Simon

    • jdo sagt:

      Ich hab mir Darktable schon angesehen und hab das sogar auf dem Rechner - aber da gehen mit zu viele Funktionen ab, die AfterShot bietet - eingebaute Light-Version von Noise Ninja, um eine zu nennen.

      Ich sag jetzt nicht, dass Darktable schlecht ist - aber es genügt leider nicht ganz meinen Ansprüchen ...

  2. aspera sagt:

    Hi,

    guck Dir mal Entangle an. Damit kannst Du mit einer übersichtlichen Gui direkt in Deinen Rechner schießen und die Kamera steuern. Nutze es professionell. Sehr zu empfehlen. Seit kurzem gibt es ein Paket auf getdeb http://www.getdeb.net/software/Entangle

    Gruß
    aspera

Antworten