Jump to content

Empfohlene Beiträge

Werbung (verschwindet nach Registrierung)

Schon klar, dass man sich nicht unbedingt für jedes Objektiv einen Adapter anschaffen würde. Aber: Nehmen wir mal an, man hat nur zwei, und es sind besonders gute - dann könnte das schon sinnvoll sein.

 

Nochmals vielen Dank

vom Südlicht

 

 

PS: Gibt's hier eigentlich jemand, der die Brennweite eines Alt-Objektivs in die EXIF-Daten einträgt? Falls ja: Wie?

(Vielleicht sollte ich dafür doch besser einen neuen Thread aufmachen)

Link zum Beitrag
Auf anderen Seiten teilen

Ja, ich habe mir für das exiftool Befehlsdateien gebastelt. Ich kopiere meine Bilder zuerst in einen Ordner neu - und zwar wenn möglich die Bilder, die ich mit einem bestimmten Objektiv gemacht habe. Dann lasse ich exiftool mit der entsprechenden Befehlsdatei drüberlaufen und verschiebe dann die Dateien in den Zielordner.

 

Meine Befehlsdatei 'makinon_500.exif' sieht beispielsweise so aus:

 

-overwrite_original

 

-Artist=mein Name

 

-d

%Y

-Copyright<© mein Name, $CreateDate

 

-FocalLength=500

-FocalLengthIn35mmFormat=1000

-MaxApertureValue=8.0

 

 

-XMP:Creator=mein Name

-XMP:Lens=Makinon (Canon FD) MC Reflex 500mm F8

-XMP:Rights=© mein Name

 

Der Aufruf des exiftool sieht dann beispielsweise so aus, um alle Bilddateien im Verzeichnis 'new' mit diesen Einträgen zu versehen

 

exiftool -@ makinon_500.exif new

 

Was ich leider noch nicht zuverlässig zu Laufen gebracht habe, ist eine Abfrage ob schon gültige Einträge drin stehen; bei der Anwendung ist Vorsicht also besser als Nachsicht .. wenn das einer zuverlässig hingebracht hat, würde mich der Ablauf oder ein Beispielsbefehl sehr freuen.

Link zum Beitrag
Auf anderen Seiten teilen

Thorsten, ich danke dir ganz herzlich!

 

Ich habe schon mal einen halben Tag mit dem Exif-Tool verbracht, allerdings ohne Erfolg. Dein Script werde ich mal ausprobieren - es wäre ja zu schön, wenn das klappt. (Momentan schreibe ich die Objektivdaten in die Dateinamen, aber das ist nicht so toll)

 

Schönen Gruß

vom Südlicht

Link zum Beitrag
Auf anderen Seiten teilen

Ich habe da auch lange ausprobieren müssen; schließlich unterstützt das Tool ja sogar bedingte Anweisungen, das habe ich aber nicht hinbekommen.

Insgesamt ist EXIF jedoch noch sehr unbefriedigend - Windows beispielsweise wertet ganz andere Felder aus als andere Tools. Wenn man beispielsweise den Fotografen, das Objektiv oder den Titel eines Bildes in jedem Tool sichtbar haben möchte, dann trägt man die alle mehrfach ein.

 

Und natürlich funktioniert mein Tool :P man beachte allerdings die Warnung! Einmal über das falsche Verzeichnis rennen lassen, dann sind deine Original EXIFs überschrieben .. da suche ich noch nach einer guten Lösung, ohne gleich alles neu zu programmieren.

Link zum Beitrag
Auf anderen Seiten teilen

  • 9 months later...

Bedingte Anweisungen mit ExifTool

 

Ich habe da auch lange ausprobieren müssen; schließlich unterstützt das Tool ja sogar bedingte Anweisungen, das habe ich aber nicht hinbekommen.

.. Einmal über das falsche Verzeichnis rennen lassen, dann sind deine Original EXIFs überschrieben .. da suche ich noch nach einer guten Lösung, ohne gleich alles neu zu programmieren.

 

So, mittlerweile hat sich auch das aufgeklärt und ist wie immer sehr einfach, wenn man weiß wie es geht.

 

Mit der Option [-if "[not] $Label[='Eintrag']"] kann man bestimmte Bedingungen für jedes Bild abfragen, und nur wenn die zutreffen, wird diese Datei verändert.

 

Beispielsweise möchte ich natürlich nicht Objektivdaten oder Brennweite überschreiben, wenn dort schon sinnvolles drin steht.

 

Dann rufe ich beispielsweise auf (siehe auch weiter oben):

exiftool -if "$LensType eq 'NO-LENS'" -@ makinon_500.exif new

"Übersetzt" steht da: hallo exiftool, wenn in einer Bilddatei im Feld 'LensType' der Eintrag 'NO-LENS' steht, dann wende bitte die Anweisungen in der Datei 'makinon_500.exif' auf dieses Bild an. Mach das bitte für alle Bilder im Verzeichnis 'new'.

Damit werden alle Bilddateien im Verzeichnis 'new' daraufhin überprüft, ob auch der Eintrag 'NO-LENS' in den EXIF steht; und nur dann werden die Objektivdaten dort gemäß der Befehlsdatei 'makinon_500.exif' überschrieben. Befinden sich dort Dateien, bei denen die Kamera ein Objektiv erkannt hat, dann befindet sich unter Lens-Type nämlich ein anderer Eintrag; und ExifTool läßt diese Dateien in Ruhe ..

 

Weil man sich so leicht verschreiben kann und die Abfragen eigentlich immer ähnlich sind, habe ich diese Bedingung in meine Objektiv-Anweisungen aufgenommen. Dabei muss in zwei Zeilen getrennt geschrieben werden! Nach '-if' die Bedingung ohne doppelte Anführungszeiten in eine neue Zeile schreiben.

 

Beispieldatei Makinon_500.exif

-if
$LensType eq 'NO-LENS'

-FocalLength=500
-FocalLengthIn35mmFormat=1000
-LensType=MACINON MC REFLEX 500/F8
-MaxApertureValue=8.0

-XMP:Lens=Makinon (Canon FD) MC Reflex 500mm F8

Ähnlich kann man auch im Copyright darauf achten, daß man ein bereits eingetragenes NICHT überschreibt.

 

Beispieldatei Copyright.exif:

-if
not $Copyright

-Artist=mein Name

-d
%Y
-Copyright<© mein Name, $CreateDate

 

Gruß Thorsten

 

P.S. ich war darüber gestolpert, daß unter UNIX und Linux die Anführungszeichen genau umgedreht gesetzt werden müssen; dort wird das Argument in einfache Quotes eingeschlossen, der Wert (Inhalt) des Feldes dagegen in Doppelquotes - muss man auch nur wissen

bearbeitet von matadoerle
Link zum Beitrag
Auf anderen Seiten teilen

Werbung (verschwindet nach Registrierung)

1000 Dank Thorsten, für die Forschungsarbeit!

Ich hatte es seinerzeit aufgegeben, mit damit zu beschäftigen.

 

Zu makinon_500.exif:

Ohne mich jetzt weiter mit dem exiftool befasst zu haben vermute ich, da muss es auch ein "-endif" oder sowas geben. Irgendwoher muss exiftool wissen, bis wohin es der Bedingung folgen soll und wo es "normal" weiter geht.

 

Und was brauchte man noch, um das originale Dateidatum zu erhalten?

 

Schönen Gruß

vom Südlicht

Link zum Beitrag
Auf anderen Seiten teilen

nope! braucht kein 'endif'. die Option '-if' gilt immer für den gesamten Aufruf

 

Ok, aber was, wenn man mehrere Dinge mit einem Aufruf machen möchte, also z.B. das Copyright eintragen, wenn noch keines drin steht plus das Objektiv eintragen, wenn noch keines drin steht.

Link zum Beitrag
Auf anderen Seiten teilen

  • 2 weeks later...

Hallo Thorsten, hallo Freunde der EXIF-Daten!

 

Thorsten - ja tatsächlich: Ein -if in einem Aufruf der ExifTools führt diesen (insgesamt!) nur dann aus, wenn die Bedingung zutrifft. Das -if müsste nichtmal vornedran stehen.

 

Phil Harvey, der Entwickler, hat aber noch eine andere Form der Bedingung eingebaut: Wenn man nur einen Wert prüfen will, kann man schreiben:

exiftool -artist-= -artist="Me" -copyright-= -copyright="Mine" DIR

Das füllt diese Werte nur dann, wenn sie vorher leer waren. Oder auch:

 

exiftool -imagedescription-="SONY DSC"

Das löscht diesen Text, wenn dieser Text als Beschreibung drin war.

 

Aber zurück zu den Objektivdaten:

 

Leider kocht da jeder Hersteller sein eigenes Süppchen. Die Bedingung, die du für deine Panasonic-Kamera verwendest, gilt vermutlich nur für diesen Hersteller!

Ich habe mal die EXIF-Daten meiner drei Systemkameras ausgelesen und da zeigt sich, dass die Lage verworren ist...

 

Panasonic G1 - Olympus Zuiko Digital 14-54 1:28,-3,5 (Four Thirds)
---
In den Makernotes:
LensType                        : OLYMPUS DIGITAL 14-54mm Lens
LensSerialNumber                : 05021xxxx


Panasonic G1 - Fremdobjektiv
---
In den Makernotes:
LensType                        : NO-LENS
LensSerialNumber                : 0000000


Olympus E-P1, Panasonic 1,7/20
---
LensType                        : Lumix G 20mm F1.7 Asph.
LensSerialNumber                : 09KG326xxxx
LensModel                       : LUMIX G 20/F1.7
LensFirmwareVersion             : 1.100
MaxApertureAtMinFocal           : 1.7
MaxApertureAtMaxFocal           : 1.7
MinFocalLength                  : 20
MaxFocalLength                  : 20
MaxApertureAtCurrentFocal       : 1.8
LensProperties                  : 0x4110

In den Makernotes: nichts


Olympus E-P1, Fremdobjektiv
---
LensType                        : None
LensSerialNumber                : 
LensModel                       : 
LensFirmwareVersion             : 0
MaxApertureAtMinFocal           : 0.0
MaxApertureAtMaxFocal           : 0.0
MinFocalLength                  : 0
MaxFocalLength                  : 0
MaxApertureAtCurrentFocal       : 0.0
LensProperties                  : 0x0

In den Makernotes: nichts



Sony NEX-5, SEL-16F28
---
LensInfo                        : 16mm f/2.8
LensModel                       : E 16mm F2.8
In den Makernotes:
LensType                        : T-Mount or Other Lens or no lens


Sony NEX-5, SEL-18200
---
LensInfo                        : 18-200mm f/3.5-6.3
LensModel                       : E 18-200mm F3.5-6.3 OSS
In den Makernotes:
LensType                        : T-Mount or Other Lens or no lens



Sony NEX-5, Fremdobjektiv
---
LensModel                       : ----
In den Makernotes:
LensType                        : T-Mount or Other Lens or no lens

 

Nicht nur, dass "Lens Type" bei Fremdobjektiven unterschiedlich gefülllt ist, bei Sony gibt es diesen Wert gleich gar nicht!

Ich kann nichteinmal einen Wert entdecken, den es bei jedem Hersteller gibt.

Es sieht ganz so aus, als müsse man sich für jede Kamera ein eigenes Skript bauen - ich habe mich da noch nicht entschieden.

 

 

 

Nebenbei habe ich noch etwas interessantes gefunden, nämlich bei der E-P1:

Extender                        : None
ExtenderSerialNumber            : 
ExtenderModel                   : 
ExtenderFirmwareVersion         : 0

und bei der G1:

ConversionLens                  : Off

Offenbar haben die Konverter vorgesehen...

 

Schönen Gruß,

das Südlicht

Link zum Beitrag
Auf anderen Seiten teilen

  • 5 months later...

Ich habe zu dem im Original-Post beschriebenen Zweck auch ein Perl-Skript geschrieben, das ExifTool verwendet und folgende Einstellungen erlaubt:

 

 

  • Auswahl des Quellordners
  • Beschränkung auf bestimmte Dateiendungen (z.B. .jpg, .RW2)
  • Anwendung eines der folgenden Filterkriterien:
    • Bereich von Sequenznummern im Dateinamen (z.B. DSC0050.JPG - DSC0059.JPG)
    • Beliebige Liste von Sequenznummern im Dateinamen
    • Nur Dateien mit Exif-Tag LensType=NO-LENS

     

    [*]"Dry run" - zeigt, welche Dateien wie geändert werden würden, ohne tatsächlich Exif-Daten zu schreiben

Wer Verwendung dafür hat, findet das Skript unter [Perl] addexiftags - Pastebin.com

Link zum Beitrag
Auf anderen Seiten teilen

Diese ganzen seitenlangen Befehlseingaben in die Kommandozeile von ExifTool sind mir viel zu kompliziert. Über das Programm ExifMixer lässt sich ExifTool aber sehr einfach in Windows ausführen. Das ist meine Lösung um EXIF- Objektiv- Daten nachträglich in JPEG oder RAW Dateien zu schreiben:

Dazu lädt man sich das Programm ExifMixer und EXIFTool herunter.

ExifMixer - free GUI for ExifTool

Die ExifMixer_050.RAR zusammen mit der exiftool(-k).EXE in einen Ordner entpacken und die ExifMixer starten:

Hallo, lieber Besucher! Als Forumsmitglied (kostet nix) würdest du hier ein Bild sehen…

Einfach hier registrieren – Wir freuen uns immer über neue Mitglieder!

 

 

 

 

Zuerst müssen wir dem Programm den Pfad von exiftool(-k).EXE zuweisen. Das geschieht in der Menüzeile über Options/ ExifTool Location/ exiftool(-k). In der folgenden Abbildung habe ich den ExifMixer im Fenster „Available parameter sets“ bereits mit meinen Objektivdaten aktualisiert:

Hallo, lieber Besucher! Als Forumsmitglied (kostet nix) würdest du hier ein Bild sehen…

Einfach hier registrieren – Wir freuen uns immer über neue Mitglieder!

 

 

 

 

 

Über die knöpfe „ New“ oder“ Edit“ lassen sich neue Sets erstellen und diese ggf. mit der korrekten Blendenzahl aktualisieren. Hat man ein neues Set erstellt, besser über File/ Save sichern:

Hallo, lieber Besucher! Als Forumsmitglied (kostet nix) würdest du hier ein Bild sehen…

Einfach hier registrieren – Wir freuen uns immer über neue Mitglieder!

 

 

 

 

 

In „Available parameter Sets“ führt man einen Doppelklick z.B. auf „Canon FD 50mm“ aus und lädt damit die entsprechenden Daten. Die Zeile erscheint dann auch im Fenster „Selected parameter sets“.

Über Run /Preview Parameters kann man sich die Daten anzeigen lassen, die in die EXIF`s geschrieben werden sollen:

Hallo, lieber Besucher! Als Forumsmitglied (kostet nix) würdest du hier ein Bild sehen…

Einfach hier registrieren – Wir freuen uns immer über neue Mitglieder!

 

 

 

 

Man zieht einen Ordner mit seinen Fotos in das Hauptfenster von ExifMixer. Sofort startet die Bearbeitung. Ob die Bearbeitung erfolgreich war, wird einem gleich mitgeteilt. Die neuen Dateien werden im selben Ordner angelegt und die alten mit „-ori“ erweitert. So geht nichts verloren.

Hallo, lieber Besucher! Als Forumsmitglied (kostet nix) würdest du hier ein Bild sehen…

Einfach hier registrieren – Wir freuen uns immer über neue Mitglieder!

 

 

 

Mitunter reagiert das Programm aber recht zickig: So werden zum Bespiel die mit DxO Optics Pro 7.1 ausgegebenen Jgeg`s nicht überschrieben. Eine Neuspeicherung kann das Problem lösen. Bei meinen RW2- Dateien der GH2 (RAW) funktioniert es mittlerweile perfekt (anfangs konnten die RW2 Dateien nach Bearbeitung nicht mehr geöffnet werden). Manchmal werden auch Fehlermeldungen angezeigt und die Dateien trotzdem beschrieben.

 

Das Fenster Presets brauche ich nicht. Es hat mich nur verwirrt. Dort können Namen für Presets erstellt werden. Aber die anschließende sinvolle Zuweisung habe ich nicht hinbekommen.

 

Die neu beschriebenen Dateien kann man sich z.B. in der Adobe Bridge ansehen. Und das liest sich sehr schön:;)

Hallo, lieber Besucher! Als Forumsmitglied (kostet nix) würdest du hier ein Bild sehen…

Einfach hier registrieren – Wir freuen uns immer über neue Mitglieder!

Link zum Beitrag
Auf anderen Seiten teilen

Vielen Dank für deine ausführliche Anleitung. Das ist in der Tat eine sehr komfortable Lösung. Nur wenn man bei einer Session mehrmals das Objektiv wechselt, ist es wahrscheinlich einfacher, auf NO-LENS zu überprüfen und automatisch nur diese Dateien zu bearbeiten. Das funktioniert natürlich nur, wenn man nur ein Objektiv hat, welches von der Kamera nicht erkannt wird.

 

Ich habe noch eine Frage zu deinem Parametersatz. Du verwendest unter anderem

 

-exif:LensType="Objektivname"

 

Das funktioniert bei mir leider nicht, exiftool meldet, es könne das Tag nicht schreiben, da es nicht existiere. Ich musste die Zeile ändern in

 

-panasonic:LensType="Objektivname"

 

Hattest du ähnliche Probleme?

Link zum Beitrag
Auf anderen Seiten teilen

Hallo Deve,

 

 

In Photo ME erscheint bei mir auch NO- LENS:

Hallo, lieber Besucher! Als Forumsmitglied (kostet nix) würdest du hier ein Bild sehen…

Einfach hier registrieren – Wir freuen uns immer über neue Mitglieder!

 

 

 

 

Aber weiter unten sind meine Einträge mit ??? zu sehen:

Hallo, lieber Besucher! Als Forumsmitglied (kostet nix) würdest du hier ein Bild sehen…

Einfach hier registrieren – Wir freuen uns immer über neue Mitglieder!

 

 

Es ist tatsächlich so, dass Panasonic das Objektiv in " LensType" hineinschreibt. Mir ist es auch noch nicht gelungen diese EXIF- Zeile mit dem ExifTool zu beschreiben. Würde dies gelingen, wäre der Name des Objektivs in vielen Programmen zu sehen.

 

Was passiert denn bei dem Code -panasonic="Objektivname"? Wo wird dies beim ExifTool hinterlegt?

Link zum Beitrag
Auf anderen Seiten teilen

Eben! Da gibt es doch GUIs. Grundgütiger!

Aber es kann ja auch Spaß machen, sein Linux über die Konsole zu steuern, nicht wahr? ;)

Absolut! Ich habe das Skript tatsächlich geschrieben, weil es mir Spaß macht. Es gibt auch Leute, die schreiben aus Spaß Programme wie ExifMixer und stellen es kostenlos zur Verfügung.

 

@LordPixel:

 

Wenn ich -panasonic="Objektivname" verwende, gibt Exiftool folgendes aus

 

...
[Panasonic]     Num Face Positions              : 0
[Panasonic]     Lens Type                       : SLR Magic 35/F1.7
[Panasonic]     Lens Serial Number              : 0000000
[Panasonic]     Accessory Type                  : NO-ACCESSORY
...

In Lightroom wird es dann auch richtig angezeigt, z.B. so:

 

attachment.php?attachmentid=48792&stc=1&d=1325967870

 

Mich wundert auch, dass bei dir -exif:LensType="Objektiv" funktioniert. Bei mir löst das eine Warnung aus und das Tag wird nicht geschrieben.

Hallo, lieber Besucher! Als Forumsmitglied (kostet nix) würdest du hier ein Bild sehen…

Einfach hier registrieren – Wir freuen uns immer über neue Mitglieder!

Link zum Beitrag
Auf anderen Seiten teilen

Ja, es ist nicht alles logisch. Meinen Erfolg verdanke ich auch nur der Versuch und Irrtum- Methode. Exiftool zeigt mir folgendes an:

 

Lens Type: Canon FD 1,2L/50mm

Accessory Type: No-Accessory

Lens Model: Canon FD 1,2L/50mm

Lens ID: Canon FD 1,2L/50mm

Lens Serial Number: 14316

 

Es ist mir aber nicht möglich, die Zeile EXIF:LensType zu überschreiben, wenn die Aufnahme mit einem Panasonic Objektiv gemacht wurde. Andere Werte wie ISO sind kein Problem.

Und PhotoME zeigt mir unter Objetiv "NO-Lens" an. Das wurmt mich sehr.

 

Gibt es noch andere Möglichkeiten der Befehlseingabe in ExifMixer?

bearbeitet von LordPixel
Link zum Beitrag
Auf anderen Seiten teilen

Das liegt meiner Meinung tatsächlich daran, dass für EXIF das Tag "LensType" gar nicht spezifiziert ist, vgl. die Liste der Exif-Tags

 

Allerdings kann man unter dem EXIF-Tag "MakerNotePanasonic" ein Tag mit Namen "LensType" beschreiben, vgl. die Liste der Panasonic-Tags.

 

Dies erreicht man mit dem Befehl

 

exiftool -panasonic:LensType="Objektivname" Bilddatei.RW2

Wenn ich das richtig verstanden habe, nennt man das eine Gruppe. (vgl. Doku). Um sich die Gruppen anzeigen zu lassen verwendet man den Befehl

 

exiftool -G0:1 "Bilddatei.RW2"

In diesem Beispiel werden alle Gruppennamen der Ebene 0 und 1 angezeigt, man sieht, dass das Tag "LensType" in der Gruppe "MakerNotes:Panasonic" existiert.

 

Man kann sich das Leben aber auch einfacher machen und beim Schreiben der Tags den Gruppennamen weglassen. Folgendes funktioniert nämlich auch:

 

exiftool -LensType="Objektivname"

Hier findet exiftool das Tag automatisch. Den Gruppennamen muss man vermutlich nur angeben, wenn es mehrere Tags gleichen Namens in unterschiedlichen Gruppen gibt.

Link zum Beitrag
Auf anderen Seiten teilen

Mal eine allgemeine Frage: Arbeitest du bei der Befehlseingabe mit dem ExifMixer oder mit dem ExifTool? Ich würde gerne alles über den ExifMixer verwalten und auch die Befehle dort eingeben.

Ich muss gestehen, dass es mir mit der ExifTool.exe direkt überhaupt noch nicht gelungen ist eine Datei zu beschreiben. Irgendwie habe ich das Prinzip noch nicht verstanden.

Link zum Beitrag
Auf anderen Seiten teilen

Ich habe beides schon verwendet. Für den Aufruf von exiftool von der Kommandozeile aus ist es wichtig, dass der Speicherort von exiftool.exe in der Pfadvariable von Windows steht, sonst wird das Programm nicht gefunden. Alles was man mit exiftool auf der Kommandozeile machen kann, kann man natürlich auch mit ExifMixer machen. Allerdings eignet sich der nicht so gut für das Anzeigen von Tags, da nicht alle Programmausgaben von exiftool angezeigt werden.

Link zum Beitrag
Auf anderen Seiten teilen

exiftool hat keine grafische Oberfläche, man muss es über die Kommandozeile aufrufen, ein einfacher Doppelklick auf die exiftool.exe bewirkt nichts (zumindest nichts sinnvolles).

 

Wenn ich "Kommandozeile" sage, meine ich ein Programm, das unter Windows "Eingabeaufforderung" heißt. Es ist beim Betriebssysem bereits dabei und befindet sich bei den Programmen unter "Zubehör". Die Befehle, die ich zwei Posts weiter oben gepostet habe, können dort eingegeben und ausgeführt werden. Wenn's dich interessiert, kann ich dir gerne etwas genauer erklären, wie man exiftool damit verwendet. Wie gesagt, benötigt man die Eingabeaufforderung vor allem, wenn man Tags lesen möchten.

Link zum Beitrag
Auf anderen Seiten teilen

Wenn's dich interessiert, kann ich dir gerne etwas genauer erklären, wie man exiftool damit verwendet. Wie gesagt, benötigt man die Eingabeaufforderung vor allem, wenn man Tags lesen möchten.

 

Ja, das interessiert mich brennend. ein Tutorial über die praktische Anwendung von ExifTool würde ja auch prima in diesen Thread passen - vielleicht in der Art, wie ich es weiter oben mit ExifMixer gemacht habe? :)

Link zum Beitrag
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...