Kompakte Canon-Digicams aufwerten

Aus LinuxUser 07/2008

Kompakte Canon-Digicams aufwerten

Aufgebohrt

Mit der Software Chdk verleihen Sie Ihrer Canon Kompaktkamera Fähigkeiten, die nicht einmal deutlich teurere Modelle besitzen.

Legen Sie bei einer Digicam mehr Wert auf Handlichkeit und Flexibilität als auf das letzte Pixel Detailtreue, dann fahren Sie mit einer digitalen Kompaktkamera besser als mit einer klobigen und teuren digitalen Spiegelreflexkamera. Viele Hersteller, so auch Canon, specken ihre kleineren Modelle aber bewusst um Funktionen wie das alternative Bildformat RAW ab, ab obwohl die verwendeten Prozessoren diese eigentlich unterstützen. Mit Chdk [1] greifen Sie nicht nur auf deaktivierte Funktionen des Gerätes zu, sondern verleihen ihm darüber hinaus neue Fähigkeiten (siehe Kasten “Zusatzfunktionen”). Nicht nur Amateurknipser profitieren von diesem Leistungsschub: Auch Profi-Fotografen erhalten damit eine günstige Möglichkeit, mit einer Allzeit-Bereit-Kamera hochwertige Bilder zu erstellen.

Kurios: Es ist eine Backdoor im Betriebssystem vieler Canon-Kameras, die das Ausführen zusätzlicher, auf der Speicherkarte befindlicher Programme ermöglicht. Das Kernsystem selbst bleibt dabei zwar unangetastet, doch kann es trotzdem passieren, dass es an der Kamera zu mechanischen Schäden kommt – beispielsweise wenn definierte Limiter außer Kraft gesetzt werden. Solche Schäden deckt die Herstellergarantie verständlicherweise nicht ab. Allerdings sind der Redaktion keine Fälle bekannt, in denen Kameras durch den Einsatz von Chdk zu Schaden kamen. Im Test verwenden wir das Canon-Modell S5 IS [2].

Zusatzfunktionen

Die Möglichkeiten von Chdk unterscheiden sich sowohl hinsichtlich der Kameratypen als auch beim gewählten Firmware-Image. So stehen beispielsweise alleine für das Modell A640 sechs verschiedene Addons unterschiedlicher Anbieter zum Download bereit, von dem jedes über spezifische Fähigkeiten verfügt. Welche Software derzeit für welche Kameras zum Download bereit steht, zeigt eine Übersicht im Chdk-Wiki [3]. Die wichtigsten Funktionserweiterungen von Chdk im Überblick:

  • Bildspeicherung auch im RAW-Format
  • Live-RGB-Histogramm, um die Farb- und Helligkeitsverteilung des Bildes zu ermitteln
  • Frei konfigurierbare Batteriestandsanzeige, sowohl grafisch als auch in Prozent
  • Zebra-Modus zur Anzeige unter- und überbelichteter Bildbereiche
  • manuell einstellbare Sensorempfindlichkeit (ISO) von 50 bis 3200
  • Ubasic-Interpreter zum Starten eigener Skripte, etwa für Zeitrafferaufnahmen
  • Frei konfigurierbare Videoqualität
  • Fernauslösen über ein spezielles USB-Kabel
  • Veränderungen der Belichtungszeit über die vom Hersteller vorgesehenen Werte hinaus
  • Veränderung der kleinstmöglichen Blende unter die Herstellervorgabe
  • Belichtungsreihenfunktion mit verschiedenen Parametern (Blende, Zeit, Schärfe)
  • Schärfentiefeanzeige
  • Frei konfigurierbare OSD-Einstellungen
  • Verwenden eigener Gitternetzlinien

Installation

Chdk besteht aus einem Bootimage, das die Kamera beim Start lädt. Damit sie das kann, müssen Sie zunächst die Speicherkarte bootfähig machen, auf der Sie das Firmware-Addon verwenden möchten. Das gilt ausschließlich für Kameramodelle, die als Betriebssystem DyrOS verwenden, siehe Kasten “Unterstützte Kameramodelle”. Beachten Sie, dass sich diese Vorgehensweise nur für Speicherkarten bis zu einer Größe von 2 GByte eignet, da größere Karten FAT32 verwenden und sich damit nicht bootfähig machen lassen.

Unterstützte Kameramodelle

Der Betrieb von Chdk setzt eine Canon-Kamera mit einem Digic-II/III-Bildverarbeitungsprozessor voraus. Für folgende Modelle steht die Third-Party-Firmware zum Download bereit:

  • Modellreihe A mit VxWorks: A450, A460, A530, A540, A550, A560, A570, A610, A620, A630, A640, A700, A710 IS,
  • Modellreihen S und G mit VxWorks: S2 IS, S3 IS, G7,
  • Modellreihe Ixus mit VxWorks: Ixus 55, Ixus 65, Ixus 70, Ixus 700, Ixus 800, Ixus 850 IS, Ixus 950 IS
  • Modelle mit DyrOS: A650, A720 IS, S5 IS, Ixus 860 IS

Beachten Sie, dass die Integration des Firmware-Addons maßgeblich vom Betriebssystem der Kamera abhängt.

Stecken Sie die Speicherkarte in einen externen Kartenleser und öffnen Sie ein Terminal. Das direkte Anschließen der Kamera funktioniert mit dem verwendeten Referenzmodell nicht, da die zum Test verwendete OpenSuse 10.3 das Gerät nicht als Massenspeichergerät erkennt und ihm somit kein Device zuteilt. Prüfen Sie mit dem Befehl mount, welches Device Ihr System für die Karte verwendet, und hängen Sie es mit sudo umount Gerätename aus. Öffnen Sie danach die Karte mit einem Hexeditor wie Hexedit [4] durch Eingabe von sudo hexedit Gerätename, in unserem Fall /dev/sdg1. Gehen Sie zum Offset 0x40 und wechseln Sie mit [Tab] in das ASCII-Textfeld. Tippen Sie nun BOOTDISK (Abbildung 1). Um die Änderungen zu speichern und Hexedit zu schließen, drücken Sie [Strg]+[X].

Abbildung 1: Um die Speicherkarte bootfähig zu machen, müssen Sie sie mit einem Hexeditor entsprechend präparieren.

Abbildung 1: Um die Speicherkarte bootfähig zu machen, müssen Sie sie mit einem Hexeditor entsprechend präparieren.

Abhängig vom Kameratyp stehen für verschiedene Firmware-Varianten unterschiedliche Chdk-Versionen zur Verfügung. Um die Version Ihres Modells zu erfahren, erstellen Sie mit touch eine leere Datei namens ver.req und kopieren sie auf die Speicherkarte. Stecken Sie diese in Ihre Kamera und starten Sie diese im Wiedergabemodus. Bei gedrückter SET-Taste betätigen Sie den DISP.-Knopf, woraufhin die Kamera die Firmwareversion im Display anzeigt (Abbildung 2).

Abbildung 2: Um die verwendete Firmware Ihrer Kamera zu erfahren, kopieren Sie auf die Speicherkarte die leere Datei     <code srcset=

ver.req und drücken bei eingelegter Karte gleichzeitig SET und DISP..” width=”300″ height=”170″ /> Abbildung 2: Um die verwendete Firmware Ihrer Kamera zu erfahren, kopieren Sie auf die Speicherkarte die leere Datei ver.req und drücken bei eingelegter Karte gleichzeitig SET und DISP..

Besuchen Sie nun die Downloadseite von Chdk [5] und laden das für Ihre Kamera passende Firmware-Image herunter. Entpacken Sie das ZIP-Archiv und kopieren Sie die enthaltene Datei DISKBOOT.BIN in das Wurzelverzeichnis der Speicherkarte. In der Grundeinstellung verwendet Chdk die englische Sprache. Möchten Sie stattdessen eine deutsche Menüführung, gehen Sie wie folgt vor: Erstellen Sie auf der Speicherkarte das Verzeichnis chdk und darin das Unterverzeichnis lang. In diesem erzeugen Sie die Textdatei german.txt und öffnen sie mit einem Texteditor. Besuchen Sie danach [6], kopieren Sie die dort veröffentlichte Lokalisierung in die Textdatei und speichern Sie sie mit der Zeichenkodierung CP1252 ab, da die Kamera andernfalls Umlaute falsch darstellt.

Hängen Sie danach die Speicherkarte mittels sudo umount Gerätename aus und stecken Sie die Karte ab. Aktivieren Sie nun den Schreibschutz (“Lock”) und stecken Sie die Karte in die Kamera. Der Schreibschutz ist Voraussetzung für den Start des Firmware-Images, beeinträchtigt jedoch nicht den tatsächlichen Schreibzugriff auf das Speichermedium in der Kamera.

Besitzen Sie eine Kamera mit dem VxWorks-Betriebssystem (siehe Kasten “Unterstützte Kameramodelle”), drücken Sie jetzt im Wiedergabemodus den MENU-Knopf. Wechseln Sie in der Verwaltungsoberfläche in den Unterpunkt Firm Update und drücken Sie SET. Nach dem Bestätigen der Nachfrage mit OK ist die Firmware einsatzbereit.

Die beschriebene Vorgehensweise haben wir mit der Referenzkamera S5 IS getestet, auf anderen Modellen kann sich die Vorgehensweise geringfügig unterscheiden. Detaillierte Hinweise zu allen unterstützten Kameras finden Sie unter [7].

Betrieb

Wie erwähnt lässt Chdk die originale Firmware beim Hochfahren unangetastet und startet stattdessen direkt von der Speicherkarte. Um die Funktionen zu benutzen, muss entsprechend jede Karte, die Sie verwenden, ein solches Boot-Image enthalten. Beim Einschalten der Kamera erscheint zunächst ein kleiner Hinweiskasten, der die geladene Firmwareversion anzeigt.

Um das Verwaltungsmenü zu erreichen, drücken Sie zunächst die Alt-Taste – beim Referenzmodell finden Sie diese an der linken oberen Ecke über dem Display. Danach erscheint am unteren Bildschirmrand ein blau hinterlegtes ALT, das den Wechsel in den Alternativmodus signalisiert. Drücken Sie jetzt MENU, so erscheint anstelle der gewohnten Kamera-Einstellungen das Setup von Chdk, in dem Sie hierarchisch sortiert die verschiedenen Einstellungen erreichen (Abbildung 3).

Abbildung 3: Das Setup von Chdk erreichen Sie über das Betätigen der     <code srcset=

Alt-Taste.” width=”300″ height=”202″ /> Abbildung 3: Das Setup von Chdk erreichen Sie über das Betätigen der Alt-Taste.

Um die deutsche Lokalisierung einzubinden, wählen Sie in der Rubrik Visual setting den Punkt Language… und im Dateibrowser die zuvor auf der Karte gespeicherte Lokalisierungsdatei aus.

Chdk gibt sich viel gesprächiger als das OSD (On-Screen Display) des Standardsystems. So fehlt vielen Canon-Kameras eine Batteriestandsanzeige, die das Addon gleich in mehreren Varianten als Symbol oder in Prozentangaben nachliefert. Ähnlich verhält es sich mit dem aktuell verwendeten Zoomwert, den Chdk anstelle eines wenig aussagekräftigen Balkendiagramms auf Wunsch als Multiplikator einblendet. Auch die Histogramm-Funktion – sie zeigt die Verteilung von Helligkeitswerten im Bild – fehlt nicht. Die Funktion DOF-Rechner (“Depth of Field”, Schärfentiefe) zeigt Ihnen an, wie groß der scharfe Bereich mit dem gewählten Zoomfaktor und Blende ausfällt.

Alle verfügbaren Anzeigeoptionen lassen sich beliebig auf dem Display verteilen. Wechseln Sie dazu ins Menü OSD-Einstellungen und aktivieren Sie den OSD-Layouteditor. Daraufhin erscheinen sämtliche verfügbaren Anzeigen, die Sie mit den Cursortasten der Kamera positionieren. Um zum nächsten Element zu wechseln, drücken Sie SET.

Als weitere Anzeigefunktion enthält Chdk die Option, beliebige Gitternetzlinien einzubinden. Diese erscheinen auf dem Display und erleichtern den Bildaufbau sowie die das horizontale Ausrichten der Kamera. Haben Sie die Zebra-Einstellungen von Chdk aktiviert, markiert das Display unter- oder überbelichtete Bereiche (Abbildung 4). Da speziell Digitalkameras extrem empfindlich darauf reagieren, können Sie mit der Belichtungsanpassung entsprechend gegensteuern.

Abbildung 4: Um über- oder unterbelichtete Passagen in Bildern zu vermeiden, hebt Chdk diese bei eingeschaltetem     <code srcset=

Zeige Zebra extra hervor.” width=”300″ height=”200″ /> Abbildung 4: Um über- oder unterbelichtete Passagen in Bildern zu vermeiden, hebt Chdk diese bei eingeschaltetem Zeige Zebra extra hervor.

Um Bilder im RAW-Format (siehe Kasten “RAW vs. JPEG”) aufzunehmen, wechseln Sie im Hauptmenü zum Punkt RAW-Einstellungen und aktivieren Speichere RAW. Darüber hinaus legen Sie in diesem Fenster auch fest, ob die Kamera nur das erste Bild einer Serie im RAW-Format abspeichern soll und ob die Rauschunterdrückung aktiviert ist. Diese Einstellung gilt auch für Aufnahmen im JPEG-Format.

Beachten Sie, dass Canon RAW-Bilder im proprietären Datenformat CR2 bzw. CRW speichert, das die meisten RAW-Konverter nicht oder nur mangelhaft einlesen. Abhilfe schafft das Programm Dng4ps [8] das die Bilder in Adobes Standardformat DNG umwandelt. Die Webseite stellt sowohl ein RPM-Paket für OpenSuse 10.3 als auch den Quellcode und die Windows-Binaries zum Download bereit. Die Windows-Version ließ sich im Test problemlos mit Wine installieren und starten.

RAW vs. JPEG

Das RAW-Format – auch digitales Negativ genannt – speichert die Informationen des Bildsensors ohne jegliche softwareseitige Einflussnahme der Kamera. Auf den ersten Blick wirken die so gewonnenen Aufnahmen deswegen schlechter als die JPEG-Pendants, bieten aber deutlich mehr Möglichkeiten, sie auf dem heimischen Rechner nachzubearbeiten. Ein Grund dafür ist, dass RAW-Aufnahmen nicht nur unverfälschte, sondern auch deutlich mehr Bildinformationen enthalten. Während JPEG pro Farbkanal nur 256 Helligkeitsabstufungen speichert, enthalten Bilder im Rohdatenformat zwischen 1.024 und 16.384 Stufen und geben damit auch Nuancen wieder, die in JPEG verloren gehen.

Allerdings bringt dieses edle Format auch einige Nachteilen mit sich. Benötigt ein JPEG lediglich 3 bis 4 MByte Speicherplatz auf der Kamera, kann eine RAW-Aufnahme durchaus 10 MByte groß werden. Des weiteren beansprucht die Verarbeitung in der Kamera deutlich mehr Zeit, was dieses Bildformat für Serienaufnahmen unbrauchbar macht. Auch am heimischen Arbeitsplatz gestaltet sich der Umgang mit RAW-Daten komplizierter, gilt es doch, diese zuerst nachzubearbeiten und danach in ein alltagskompatibles Format zu konvertieren. Gute Dienste leistet hier das kostenfreie Programm Rawtherapee [9].

Einen weiteren interessanter Aspekt stellt das so genannte Braketing dar (Extra-Foto-Einstellungen/Braket im fortlauf. Modus). Es erlaubt das das Erstellen von Serienaufnahmen mit verschiedenen Einstellungen, etwa mit geänderten Verschlusszeiten, Blenden oder ISO-Werten.

Für Anwender, die sich nicht auf die vorgegebenen Funktionen beschränken möchten, bietet die Firmware den Interpreter Ubasic, mit dem sich eigene Skripte auf der Kamera ausführen lassen. Eine Reihe fertiger Skripte finden Sie unter [10]. Typische Anwendungsbeispiele: Motion Detection (etwa zum Aufnehmen von Blitzen), Intervallaufnahmen (für Zeitraffervideos oder Zoom-Shoots) oder das reihenweise Aufnehmen von Bildern mit verschiedenen Zoom-Einstellungen. Im deutschen Chdk-Forum [1] finden Sie neben vielen Tipps und Tricks zu Chdk eine Coding-Ecke, die sich mit diesem Thema beschäftigt. Das Fenster zum Konfigurieren und Ausführen von Skripten (Abbildung 5) erreichen Sie über die Tastenkombination ALT+SET.

Abbildung 5: Die auf Ubasic basierende Skript-Engine von Chdk erlaubt den Start selbst erstellter Skripte auf der Kamera, etwa zur Bewegungserkennung.

Abbildung 5: Die auf Ubasic basierende Skript-Engine von Chdk erlaubt den Start selbst erstellter Skripte auf der Kamera, etwa zur Bewegungserkennung.

Fernbedienung

Neben diversen Softwarefunktionen bietet Chdk auch die Möglichkeit, die Kamera über den USB-Port fernzusteuern. Vor allem bei Langzeitbelichtungen vermeiden Sie damit eventuelle Wackler durch das Betätigen des Auslösers.

Da es bislang keine fertigen Produkte gibt, müssen Sie selbst Hand anlegen. Als Basis dient ein USB-Kabel mit einem Standard-Mini-USB-Anschluss, das im Fachhandel für etwa 5 Euro zu haben ist. Als Trigger dienen die beiden äußeren Adern des Kabels, an die Sie einen Taster sowie eine Knopfbatterie anschließen (Abbildung 6). Welche Batterieleistung die Fernbedienung Ihre Kamera mindestens benötigt, erfahren Sie unter [12].

Abbildung 6: Mit einfachen Mitteln erstellen Sie eine Fernbedienung für Ihre Kompaktkamera.

Abbildung 6: Mit einfachen Mitteln erstellen Sie eine Fernbedienung für Ihre Kompaktkamera.

Fazit

Klar: Zaubern kann auch Chdk nicht. Ein kleiner Sensor wird durch die Software nicht größer und die Optik der Kamera davon auch nicht besser. Allerdings hilft Ihnen das Huckepack-Paket für die Firmware auf vielfältige Weise dabei, das Optimum aus Ihrer Kompaktkamera herauszuholen und Funktionen zu nutzen, die teilweise nicht einmal Profimodelle besitzen. Da die Software die originale Firmware in keiner Weise verändert, besteht keine Gefahr einer versehentlichen Beschädigung der Kamera. Der integrierte Interpreter UBasic ermöglicht Ihnen darüber hinaus, eigene Skripte auf der Kamera zu starten.

Allerdings haftet Chdk ein nicht unbedeutender Nachteil an: Da praktisch jede Option eine für Einsteiger oft undurchsichtige Funktionsvielfalt besitzt, gilt es, vor dem Gebrauch der meisten Funktionen zunächst das Handbuch gründlich zu studieren.

Infos

[1] Chdk-Webseite: http://chdk.wikia.com/wiki/CHDK

[2] Canon S5 IS: http://tinyurl.com/28g6dz

[3] Chdk-Version in der Übersicht: http://chdk.wikia.com/wiki/Firmware_Comparisons

[4] Hexedit: http://merd.sourceforge.net/pixel/hexedit.html

[5] Chdk-Downloads: http://chdk.wikia.com/wiki/Downloads

[6] Deutsche Chdk-Lokalisierung: http://www.wirklemms.de/chdk/forum/viewtopic.php?t=104

[7] Hinweise zu unterstützten Kameras: http://chdk.wikia.com/wiki/CameraFeatures

[8] Dng2ps: http://dng4ps2.chat.ru

[9] Rawtherapee: http://www.rawtherapee.com

[10] Chdk-Ubasic-Skripte: http://chdk.wikia.com/wiki/UBASIC/Scripts

[11] Deutsches Chdk-Forum: http://www.wirklemms.de/chdk/forum/

[12] USB-Fernbedienung: http://chdk.wikia.com/wiki/CameraFeatures

LinuxUser 07/2008 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben