Reading and writing metadata from multimedia files
An ExifTool GUI
Several projects have attempted to make the complex system of EXIF tags more accessible with a graphical user interface. At least three of these projects can be found in the Arch Linux repositories:
- DigiKam is up-to-date and works quite well, but sometimes it uses special tags that are not fully compatible with ExifTool's tags.
- PyExiftoolGUI is a Python 2-based (now obsolete) application that causes problems during installation.
- jExifToolGUI [5] ports pyExifToolGUI to Java. The developer provides a Debian package, an AppImage, and a JAR archive with the current version [6]. The universal JAR should launch on all platforms.
Please note that jExifToolGUI's developer, Harry van der Wolf, has been rapidly implementing many new features during 2020. The features described here are as of Version 1.4.
The jExifToolGUI interface (Figure 1) is fairly easy to use. The Load Directory and Load Image buttons open images. To view the embedded preview in RAW files, jExifToolGUI requires the dcraw
command-line program. A double-click on a file name or a thumbnail opens the image in a display program of your choice.
The five tabs on the right side of the program window organize jExifToolGUI's actions. View Data only displays an image's data, Edit Data lets you edit some of the data, and Copy Data supports transferring data between images. In Your Commands, you can define and execute your own ExifTool command lines. The Exiftool Database tab helps you search for tags.
When you start, the View Data tab is active: In the right-hand pane, with the All button selected, jExifToolGUI shows you all output generated by ExifTool when you call it with a file name and without options. Usually this results in far too much information, so it is often more useful to limit the output to certain groups.
You can limit output with the Common Tags button, which limits the information accordingly in the field to the right. Many images do not actually contain information in all groups, so the output remains empty. The By Group and By Camera options have similar effects.
Editing EXIF tags is one of jExifToolGUI's main focuses. The Edit Data tab has seven categories that give you direct access to the data. Using the first tab, Exif, you can load the standard EXIF tags from one image onto the clipboard and then transfer them to all selected images.
The xmp tab is used for editing XMP tags. The tags summarized here let you describe the subject, not the image's technical properties. In particular, the Keywords tag is accessible here; you can enter several keywords separated by commas.
The gps tab lets you manually transfer the location data of one image to several others. To do this, first select the source image and copy the data to the buffer with Copy from selected image. Then select the target images and transfer the buffer's contents by selecting Save to selected image(s). Open MapCoordinates.net gives you an additional option for defining an image's coordinates via the web browser.
Geodata from external tracks can be added to the images in the Geotagging tab. To do this, either load a folder with images in advance or use the currently loaded images. Then load a file with the track data in a format that can be interpreted by ExifTool in the GPS log file field.
Geosync time lets you compensate for the time offset between the camera and tracker as described above. Write geotag information to image(s) then writes the position data to the image files (Figure 2).
Additional tabs under Edit Data (Gpano, Lens, and XMP_IPTC_String+) serve very specialized purposes.
The Your Commands tab lets you execute any command line. The developer was planning significant changes for this dialog in upcoming versions, including an additional history.
The last tab Exiftool Database (Figure 3), which is more for advanced users, grants access to the internal ExifTool tag database, with all currently known tags of all families and groups. This is especially easy to use thanks to the Search like input box, which performs a full text search. The By Group and Camera make buttons let you restrict the results. jExifToolGUI emulates the internal database in the form of an SQLite database, which enables structured queries.
Conclusions
As Phil Harvey moves ahead with ExifTool's development, he is maintaining compatibility with new standards and image formats. However, this development inevitably increases the complexity, making it more difficult to learn. So far, however, Harvey has succeeded in ensuring backward compatibility. Command lines that used to work successfully in the past will usually still work today.
Thanks to the jExifToolGUI user interface, which is also progressing in giant leaps, working with ExifTool is easier, especially for less experienced users.
Infos
- ExifTool: https://exiftool.org
- Additional documentation and resources: https://exiftool.org/#links
- Tag names: https://exiftool.org/TagNames/
- Geotag examples: https://exiftool.org/geotag.html#Examples
- jExifToolGUI: https://github.com/hvdwolf/jExifToolGUI/
- jExifToolGUI releases: https://github.com/hvdwolf/jExifToolGUI/releases
« Previous 1 2
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Canonical Bumps LTS Support to 12 years
If you're worried that your Ubuntu LTS release won't be supported long enough to last, Canonical has a surprise for you in the form of 12 years of security coverage.
-
Fedora 40 Beta Released Soon
With the official release of Fedora 40 coming in April, it's almost time to download the beta and see what's new.
-
New Pentesting Distribution to Compete with Kali Linux
SnoopGod is now available for your testing needs
-
Juno Computers Launches Another Linux Laptop
If you're looking for a powerhouse laptop that runs Ubuntu, the Juno Computers Neptune 17 v6 should be on your radar.
-
ZorinOS 17.1 Released, Includes Improved Windows App Support
If you need or desire to run Windows applications on Linux, there's one distribution intent on making that easier for you and its new release further improves that feature.
-
Linux Market Share Surpasses 4% for the First Time
Look out Windows and macOS, Linux is on the rise and has even topped ChromeOS to become the fourth most widely used OS around the globe.
-
KDE’s Plasma 6 Officially Available
KDE’s Plasma 6.0 "Megarelease" has happened, and it's brimming with new features, polish, and performance.
-
Latest Version of Tails Unleashed
Tails 6.0 is based on Debian 12 and includes GNOME 43.
-
KDE Announces New Slimbook V with Plenty of Power and KDE’s Plasma 6
If you're a fan of KDE Plasma, you'll be thrilled to hear they've announced a new Slimbook with an AMD CPU and the latest version of KDE Plasma desktop.
-
Monthly Sponsorship Includes Early Access to elementary OS 8
If you want to get a glimpse of what's in the pipeline for elementary OS 8, just set up a monthly sponsorship to help fund its continued existence.