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
-
Wine 10 Includes Plenty to Excite Users
With its latest release, Wine has the usual crop of bug fixes and improvements, along with some exciting new features.
-
Linux Kernel 6.13 Offers Improvements for AMD/Apple Users
The latest Linux kernel is now available, and it includes plenty of improvements, especially for those who use AMD or Apple-based systems.
-
Gnome 48 Debuts New Audio Player
To date, the audio player found within the Gnome desktop has been meh at best, but with the upcoming release that all changes.
-
Plasma 6.3 Ready for Public Beta Testing
Plasma 6.3 will ship with KDE Gear 24.12.1 and KDE Frameworks 6.10, along with some new and exciting features.
-
Budgie 10.10 Scheduled for Q1 2025 with a Surprising Desktop Update
If Budgie is your desktop environment of choice, 2025 is going to be a great year for you.
-
Firefox 134 Offers Improvements for Linux Version
Fans of Linux and Firefox rejoice, as there's a new version available that includes some handy updates.
-
Serpent OS Arrives with a New Alpha Release
After months of silence, Ikey Doherty has released a new alpha for his Serpent OS.
-
HashiCorp Cofounder Unveils Ghostty, a Linux Terminal App
Ghostty is a new Linux terminal app that's fast, feature-rich, and offers a platform-native GUI while remaining cross-platform.
-
Fedora Asahi Remix 41 Available for Apple Silicon
If you have an Apple Silicon Mac and you're hoping to install Fedora, you're in luck because the latest release supports the M1 and M2 chips.
-
Systemd Fixes Bug While Facing New Challenger in GNU Shepherd
The systemd developers have fixed a really nasty bug amid the release of the new GNU Shepherd init system.