ExifTool: Entfernen Sie alle Metadaten mit Ausnahme bestimmter Tags

536
Kyselejsyreček

Ich versuche, alle Metadaten aus JPEG-Dateien zu entfernen, mit Ausnahme der üblichen Foto-Tags, die mit exiftool -commonObjektivmodell, Farbraum und eingebettetem ICC-Profil (Kameramodell, Verschlusszeit, Blende, ISO usw.) aufgeführt sind.

Verwenden Sie die Antwort aus dem Frage- Exiftool: Löschen Sie die Exif-Daten, behalten Sie jedoch bestimmte Tags bei, die folgenden Befehle werden erzeugt. Das Problem ist, dass beide dazu führen, dass Verschlusszeit, Blende und das eingebettete ICC-Profil entfernt werden. Dies kann mithilfe exiftoolder entsprechenden Flags überprüft werden .

exiftool -all= -tagsFromFile @ -common -LensModel -ColorSpace -icc_profile:all original.JPG  exiftool -all= -tagsFromFile @ -common -aperture -ShutterSpeed -LensModel -ColorSpace -icc_profile:all original.JPG 

Beide erzeugen eine Warnung:

Warning: Sorry, filesize is not writable 

Sind die Befehle fehlerhaft oder handelt es sich um einen ExifTool-Fehler? Dieses Verhalten wird in ExifTool Version 10.40 bestätigt.

1
Mögliches Duplikat von [exiftool: Exif-Daten löschen, jedoch einige spezifische Tags beibehalten] (https://superuser.com/questions/450838/exiftool-delete-exif-data-but-preserve-some-specific-tags) flolilolilo vor 6 Jahren 1
Anhand der Antwort aus der referenzierten Frage wird das unerwartete Ergebnis in meiner Frage hervorgehoben. Kyselejsyreček vor 6 Jahren 0
Ich habe meine Antwort (https://superuser.com/a/1295929/703240) auf diese Frage verschoben - ich habe meine getestet und es funktioniert. flolilolilo vor 6 Jahren 0
Beachten Sie auch, dass v`10.40` vom Januar 2017 stammt - v`10.79` wurde kürzlich veröffentlicht. Die neuste Produktionsversion ist v`10.55` - im Juni 2017. flolilolilo vor 6 Jahren 0
Danke, das beantwortet meine Frage. Bitte beachten Sie auch, dass die Flags, die das <-Zeichen enthalten, unter Linux nicht funktionieren, wenn sie mit Apostrophen gekapselt werden. Kyselejsyreček vor 6 Jahren 0
Ich bin froh, dass ich helfen konnte :-) Du meinst, du musst '<`fliehen? Darf ich fragen, wie du das machst? Dann kann ich es meiner Antwort hinzufügen (Sie könnten es auch bearbeiten). flolilolilo vor 6 Jahren 0
Ja, genau das habe ich gemeint. Das Schreiben von '' <'' reicht aus, aber man kann den gesamten Parameter einschließen, zB '' common Kyselejsyreček vor 6 Jahren 0
Möchten Sie auf meine Antwort umsteigen? Ich habe es jetzt bearbeitet, so dass '-common` nicht mehr benötigt wird. flolilolilo vor 6 Jahren 1

1 Antwort auf die Frage

1
StarGeek

Das CommonVerknüpfungs-Tag ist eher ein Datenerfassungs-Tag und es ist nicht dazu gedacht, Informationen von einer Datei in eine andere zu kopieren (siehe Verknüpfungs-Tags für Liste der Tags enthält). Bei vielen dieser Tags handelt es sich entweder um Dateisystem-Tags ( FileSize), MakerNotes-Tags ( Quality) oder Composite-Tags ( Aperture, ShutterSpeed). Im Fall von FileSizekönnen Sie die Größe der Zieldatei, also den filesize is not writableFehler, nicht willkürlich ändern .

Im Fall von Makernotes-Tags können sie nicht einzeln kopiert oder erstellt werden. Es muss als Block mit kopiert werden -MakerNotes. Sie haben möglicherweise nicht versucht, das QualityTag zu kopieren, aber dieser Punkt wird relevant, wenn es sich um Composite-Tags handelt.

Zusammengesetzte Tags sind keine Tags in der Datei. Sie werden von mehreren anderen Tags abgeleitet. Apertureund ShutterSpeedsind zwei Beispiele. Sie können sie nicht in eine andere Datei kopieren, da sie einzeln nicht existieren. Sie müssen die Tags kopieren, auf denen sie basieren. Aperturebasiert entweder auf FNumberoder ApertureValue, je nachdem, was tatsächlich in der Datei enthalten ist. ShutterSpeedbasiert auf ExposureTime, ShutterSpeedValueund / oder BulbDuration. Um richtig „Kopieren“ Apertureund ShutterSpeedSie haben die oben genannten Tags zu kopieren, die sie auf der Grundlage. Einige dieser Tags sind möglicherweise nur in den MakerNotes enthalten, sodass Sie die gesamten Makernotes kopieren müssen

ICC_Profilewird als "unsicheres" Tag betrachtet und wird nur kopiert, wenn es explizit aufgeführt ist. Sie müssen es wahrscheinlich als Block kopieren, -ICC_Profilewenn -ICC_Profile:alles nicht funktioniert, da einige der einzelnen Tags in the ICC_Profilenicht schreibbar sind.

tl; dr: Mit dem exiftool-Befehl stimmt nichts, er tut einfach nicht das, was Sie denken.

mochte die "tl; dr:" und stimme total damit überein. C0deDaedalus vor 6 Jahren 0