Στο επόμενο άρθρο θα ρίξουμε μια ματιά στο ExifTool. Αυτό είναι ένα δωρεάν και ανοιχτού κώδικα πρόγραμμα για ανάγνωση, συγγραφή και χειρισμό μεταδεδομένων εικόνας, ήχου, βίντεο και PDF. Είναι ανεξάρτητο από την πλατφόρμα που χρησιμοποιούμε. Διατίθεται ως βιβλιοθήκη Perl και εφαρμογή γραμμής εντολών.
Τα μεταδεδομένα των φωτογραφιών είναι επιπλέον δεδομένα που προστίθενται στα αρχεία. Όπως η κάμερα με την οποία τραβήχτηκε μια φωτογραφία ή ο χρόνος λήψης. Αυτοί οι τύποι μεταδεδομένων εικόνας μπορούν να είναι σε διάφορες μορφές. Οι πληροφορίες που βρίσκονται στα μεταδεδομένα μπορεί να είναι οποιουδήποτε τύπου, από το όνομα της εταιρείας, μέχρι το όνομα του υπολογιστή, μέσω ετικετών, ημερομηνιών τροποποίησης, τοποθεσίας κ.λπ.
Το ExifTool υποστηρίζει πολλές διαφορετικές μορφές μεταδεδομένων, συμπεριλαμβανομένων των EXIF, GPS, IPTC, XMP, JFIF, GeoTIFF, ICC Profile, Photoshop IRB, FlashPix, AFCP και ID3, καθώς και μεταδεδομένα εικόνας ψηφιακής κάμερας. Όπως μπορείτε να εκτιμήσετε τα μεταδεδομένα δεν είναι μόνο για εικόνες, αλλά μπορεί να εφαρμοστεί σε όλους τους τύπους αρχείων.
Αν και αυτές οι λεπτομέρειες μπορεί να είναι πολύ χρήσιμες για την ταξινόμηση οποιουδήποτε τύπου αρχείου, επίσης μπορεί να περιέχει ευαίσθητες πληροφορίες. Επομένως, θα πρέπει επίσης να είμαστε προσεκτικοί σχετικά με τα αρχεία που μοιραζόμαστε, επειδή μπορούν να μεταφέρουν πληροφορίες που δεν θέλουμε να κοινοποιήσουμε.
Εγκατάσταση ExifTool
Μπορούμε να εγκαταστήσουμε το ExifTool στο Ubuntu με έναν απλό τρόπο. Απλώς πρέπει να ανοίξουμε ένα τερματικό (Ctrl + Alt + T) και να εκτελέσουμε την ακόλουθη εντολή:
sudo apt install libimage-exiftool-perl
Με αυτό θα εγκαταστήσουμε το πρόγραμμα. Τώρα μπορούμε να το δουλέψουμε μέσω της κονσόλας.
Χρήση μεταδεδομένων με το ExifTool
Μερικές από τις κύριες εντολές που δέχεται το πρόγραμμα είναι οι εξής:
Η ακόλουθη εντολή θα μας δείξει όλα τα μεταδεδομένα που σχετίζονται με την εικόνα που υποδεικνύουμε.
exiftool imagen.jpg
Αυτή η εντολή που ακολουθεί θα καταργήσει όλα τα επιπλέον μεταδεδομένα που σχετίζονται με το αρχείο.
exiftool -all= imagen.jpg
Η ακόλουθη εντολή εκχωρεί μια τιμή σε ένα TAG στην καθορισμένη ομάδα.
exiftool -[GROUP:]TAG=VALUE imagen.jpg
Με αυτές τις εντολές θα μπορούσαμε τώρα να διαχειριστούμε όλα τα μεταδεδομένα των εικόνων. Αν θέλετε να μάθετε περισσότερα σχετικά με τις διαθέσιμες ετικέτες και ομάδες για τη διαχείριση τους όπως θέλει ο καθένας, μπορείτε να λάβετε περισσότερες πληροφορίες σε αυτό ιστοσελίδα. Ένας άλλος τρόπος για να δείτε περισσότερες επιλογές της εντολής exiftool θα χρησιμοποιούν τη βοήθεια του ανθρώπου στο λειτουργικό μας σύστημα.
Περισσότερα παραδείγματα για τη διαχείριση μεταδεδομένων
Στη συνέχεια θα δούμε μερικά παραδείγματα για να μάθουμε πώς να διαχειριστούμε τα μεταδεδομένα:
Για προσθήκη ή τροποποίηση Συντεταγμένες GPS σε μια φωτογραφία, θα πρέπει να γράψουμε κάτι σαν το εξής:
exiftool -exif:gpslatitude="27 33" -exif:gpslatituderef=S -exif:gpslongitude="165 130" -exif:gpslongituderef=E fotografia.jpg
Υπό όρους ετικέτα με την επιλογή -if. Αυτό σημαίνει ότι μπορείτε να τροποποιήσετε μια σειρά μεταδεδομένων εάν πληροί μια συνθήκη, για παράδειγμα:
exiftool -alldates+=1 -if '$CreateDate ge "2017:11:02"' DIRECTORIO-IMAGENES
Θα τροποποιήσει το χρόνο των εικόνων στο DIRECTORY-IMAGES. Σε αυτά, 1 ώρα θα προστεθεί εάν δημιουργήθηκαν μετά τις 2 Νοεμβρίου 2017 και μόνο σε αυτές τις εικόνες. Η επιλογή -alldates είναι ένα ψευδώνυμο για όλες τις χρονικές σημάνσεις που μπορείτε να βρείτε σε ένα αρχείο jpeg (Datetimeoriginal, CreateDate και ModifyDate). Μπορείτε να μάθετε για αυτές και άλλες επιλογές exiftool στη διεύθυνση αυτή τη σελίδα.
Η συνθήκη -if είναι γενική, σημαίνει ότι μπορείτε να τη χρησιμοποιήσετε όσο θέλετε, αρκεί να τηρείται η σύνταξη Perl. Μπορείτε να συνδυάσετε πολλές εκφράσεις με το -if σε μια κλήση στο exiftool εάν είναι απαραίτητο. Να θυμάστε ότι τα ονόματα των ετικετών εντός της συνθήκης πρέπει να έχουν το πρόθεμα "$", όπως οι μεταβλητές στο perl. Όσοι το χρειάζονται μπορούν να βρουν περισσότερα παραδείγματα και ιδέες στο αυτόν τον Ιστό.
Ένα άλλο σπουδαίο πράγμα για το Exiftool είναι ότι δεν χρειάζεται να ξαναγράψετε τα μεταδεδομένα EXIF μιας εικόνας. Η επιλογή -TagsFromFile αντιγράφει όλες τις ετικέτες από το καθορισμένο αρχείο στο αρχείο που δίνεται ως το τελικό όρισμα. Για παράδειγμα:
exiftool -TagsFromFile tagged-img-fuente.jpg untagged-img-destino.jpg
Η επιλογή -w από την άλλη πλευρά γράφει τα δεδομένα EXIF που βρίσκονται σε μια εικόνα σε ένα αρχείο κειμένου. Εάν προσθέσετε -htmlDump τότε θα τα γράψει σε ένα αρχείο HTML. Εάν αυτό που χρειάζεστε είναι να εξαγάγετε όλα τα μεταδεδομένα σε μια βάση δεδομένων, ο καλύτερος τρόπος για να το κάνετε θα ήταν με την ακόλουθη εντολή:
exiftool -t -S IMG-DIRECTORIO | grep -v ^====> img-tags-valores.txt
Μπορείτε να βρείτε ένα άλλο παράδειγμα για το πώς γίνεται σε αυτό σύνδεσμος.
Απεγκαταστήστε το exiftool
Για να εξαλείψουμε αυτό το πρόγραμμα από το λειτουργικό μας σύστημα, θα πρέπει να ανοίξουμε μόνο ένα τερματικό (Ctrl + Alt + T). Σε αυτό θα γράψουμε την ακόλουθη σειρά:
sudo apt remove libimage-exiftool-perl && sudo apt autoremove
Γεια σας, αυτό εμφανίζεται στο τερματικό.
exiftool - [GROUP:] TAG = VALUE parrot.jpg
Προειδοποίηση: Η ετικέτα '] TAG' δεν υπάρχει
Τίποτα να κάνω.
Όταν προσπαθείτε να ανακτήσετε το exif
exiftool -TagsFromFile tagged-img-20180625_0032.CR2 untagged-img-parrot.jpg
Το αρχείο "tagged-img-20180625_0032.CR2" δεν υπάρχει για την επιλογή -tagsFromFile