Webbasiertes Bildarchiv
browser4exif2csv 1.03a vom 19.09.2003
Dokumentation
download 1.01a
download 1.03a
Die
Backuptools oder
Robocopy helfen beim "spiegeln", bzw. der Datensicherung (Windowsplattform)
Um die Übersicht im eigenen digitalen "Bilderdschungel" zu behalten, sind ein paar Hilfsmittel notwendig. Neben der reinen Datenspeicherung ist natürlich auch ein leichtes
wiederfinden von bestimmten Bildern wünschenswert, d.h. z.B.
katalogisieren der Bilder unter
Verwendung von Kategorien und/oder Stichworten. Zuguterletzt sollte das ganze "kompatibel" (z.B. sollte jederzeit eine Überführung in eine dedizierte Datenbankapplikation möglich sein), "plattformunabhängig" (problemloser Transfer zwischen verschiedenen Betriebssystemen wie Windows, Linux muss gegeben sein...) und insgesamt nicht allzu aufwendig sein.
Zwei "Komponenten" arbeiten bei mir zusammen: Eine
hierarchische Unterverzeichnisstruktur und Hilfsmittel in Form von
php-Scripts. Zusammen ermöglicht das die folgenden Anforderungen zu bedienen:
- browsen/blättern in einem Verzeichnisbaum der jpg-Bilder mit (+ohne) EXIF (2.2) - Daten enthält, dabei Anzeige (ggf. automatisches erzeugen) von Vorschaubildern und EXIF-Daten
- extrahieren von EXIF-Daten in CSV-Dateien (*) - stellt somit bei Bedarf Dateninput zum importieren für eine Datenbank/Excel/(...) zur Verfügung
- EXIF-Daten werden durch Vergabe von Kategorien und Stichworten ergänzt (sofern für ein Bild gewünscht/erfasst)
- "Datenbankabfrage" auf Basis der erzeugten CSV-Dateien, z.B. nach Kategorie(n), Stichwort(en) bzw. beliebigen Werten der exportierten EXIF-Daten/Kategorien/Stichworte...
(*)
CSV: comma separated values (trennzeichenoriente Textdatei, Trennzeichen: ";" Semikolon)
EXIF: Aufnahmedaten werden in der Bilddatei gespeichert (z.B. Vorschaubild, Blende, Belichtungszeit u.v.a.)
Verzeichnisstruktur
Ich ordne meine Bilder
zeitlich sortiert. Die Kamera ist so eingestellt, dass die Bilder fortlaufend numeriert werden (also kein Rückstellen des Zählers nach löschen der CF-Karte. Muss aber auch nicht sein.).
Vorschlag Unterverzeichnisstruktur
Also prinzipiell geordnet nach
"/kalenderjahr/monat/stichwort/bilddateiname". Und zwar die Originale.
Bearbeitete Bilder (Ausschnitt, schärfen...) LÖSCHE ich normalerweise, sobald sie ihren Zweck erfüllt haben (i.d.R. Ausbelichtung auf Fotopapier) - Ausnahme: Die Bearbeitung erstreckte sich nicht nur auf eine schnelle Ausschnittswahl / nachschärfen / einfache Tonwertkorrektur, sondern war (relativ) aufwendig. Diese Bilder werden dann ebenfalls aufbewahrt und wandern in ein Unterverzeichnis ".../bearbeitet/" des betr. Ordners.
ÜBRIGENS - für die Fraktion der "themenorientierten" Verzeichnisfreaks.
Es spricht absolut nichts dagegen,
neben dieser "zeitlich" orientierten Verzeichnisstruktur eine (mehrere) weitere,
"thematisch" orientierte Verzeichnisstruktur(en) zu pflegen. In dieser zweiten (...) Struktur setzt man einfach (je nach Betriebssystem unterschiedlich) einen Link zum Originalbild. Auf diese Art und Weise spart man sich u.U. das anlegen von Kategorien in einer extra dafür angelegten Datenbank. Den Link setzt man im Zielverzeichnis z.B. unter Linux mit
"ln" oder unter Windows mit
"fsutil hardlink".
Zusätzlich existieren eine handvoll Scriptfiles (Windows), die zu Zwecken der Datensicherung (brennen neuer Bilder auf CD) / spiegeln Dateien auf anderen Rechner / Platte angelegt wurden (abhängig vom Archiv-Bit der Dateien, das ist aber kein Muss, es geht auch über das letzte Änderungsdatum oder man benutzt z.B. "robocopy.exe" aus dem Windows Resource Kit zur vollautomatischen Mirror-Pflege). Bei Interesse mal in die
Backuptools reinsehen.
Bildarchiv
Eine Reihe von
php-Scripts erledigen diesen Job, solange es sich nur um ein paar hundert (wenige Tausend) Bilder handelt.
Dazu ist ein lokal installiertes WAMP/LAMP (MySQL wird aber nicht benötigt) notwendig. Prinzipielle Arbeitsweise:
Ein Script
zeigt verzeichnisorientiert alle Bilder der Verzeichnisstruktur an. "On-the-fly" werden
Vorschaubilder und die gewünschten
EXIF-Daten extrahiert/angezeigt. Gleichzeitig ermöglicht dieses Script die
Vergabe/Anzeige beliebiger Kategorien und Stichworte zu jedem Bild. Bereits (automatisch) erzeugte Vorschaubilder und extrahierte Daten werden in einem separaten Verzeichnis im Hintergrund gespeichert.
Die Datenhaltung erfolgt in Form von trennzeichenorienten Textdateien (also kein Datenbankmanagementsystem notwendig. Andererseits können diese Dateien bei Bedarf als "input" für ein solches DBMS dienen...). Die Vorschaubilder sind als *.jpg-Dateien hinterlegt; für jedes Verzeichnis wird eine CSV-Datei mit den EXIF-Daten (plus evtl. Kategorien und Stichworten) automatisch angelegt und fortgeschrieben.
Ein weiteres Script arbeitet lediglich mit diesen bereits "extrahierten/Vorschau"-Daten. Es ermöglicht grundlegende
"Datenbankabfragen" über die extrahierten Daten, also z.B. Abfragen wie:
- alle Bilder (bestimmter Verzeichnisse)
- alle Bilder der Kategorien "Urlaub" und "Landschaft"
- alle Bilder mit Stichwort "Blumen" oder meinetwegen "blau"
- alle Bilder, die mit Blende 5,6 aufgenommen wurden
- alle Bilder im Makro-Modus aufgenommen
- alle Bilder mit Fokus auf "unendlich"
- alle Bilder mit Brennweite 35mm
- alle Bilder mit aktivem Blitz
- usw. usw. ...in beliebigen Kombinationen...
Theoretisch spricht nach dem aufbauen der CSV-Dateien nichts dagegen,
ganze(!) Bildverzeichnisse z.B. auf CD-R(W) oder DVD auszulagern (das "Datenbank"script arbeitet ja lediglich mit den CSV-Dateien und extrahierten Vorschaubildern). Hinweise dazu finden sich in der Dokumentation (History zu 1.03a sowie Bemerkungen "zu bekannten Problemen" durchlesen!).
Die Scripts sind für Bilder einer
Canon Powershot A60/A70 optimiert/getestet (also insbesondere die speziellen CANON EXIF Makernotes werden ausgewertet), aber die wesentlichen EXIF-Daten auch anderer Kameramodelle werden angezeigt (soweit die Attribute nicht in den Makernotes des jeweiligen Herstellers "versteckt" sind). Prinzipiell können aber Makernotes anderer Hersteller leicht integriert werden - sofern das Format der Makernotes bekannt ist. Hinweise auf Quellen befinden sich am Anfang der Scriptdatei "canon.php").
Welche Daten nun genau ausgelesen werden und weitere Einzelheiten erfährt man, wenn man oben dem Link "Dokumentation" folgt. Unter "download" kann man sich die Scripts als Archiv downloaden.
Da die Scripts eher für den Heimrechner gedacht - und nicht multi-user-fähig sind - biete ich hier keine Onlineversion an. Vielleicht geben die php Bilder auf meiner php-Seite einen kleinen Einblick...
Das
Datenbankabfragescript kann in meiner
Galerie online begutachtet werden (das ist allerdings eine leicht abgespeckte, modifizierte Version, und auch der Datenbestand ist nicht sonderlich umfangreich, weil meine Galeriebilder zumeist keine EXIF-Daten, Kategorien und Stichwörter enthalten). Dazu auf der Galeriefrontseite dem Link ''"gezielt nach Bildern suchen"'' folgen.
Hardcopys der "echten" Version:
normale Verzeichnissicht
Datenbankabfrage
29.04.2008 ↸