Об этом проекте

metadata-extractor — это Java-библиотека для чтения метаданных из медиафайлов. Она распространяется через Maven Central под группой com.drewnoakes, а также доступна для загрузки со страницы релизов проекта. Базовое использование — это один вызов: Metadata metadata = ImageMetadataReader.readMetadata(imagePath); Возвращённый экземпляр Metadata затем можно перебирать или запрашивать для получения различных значений тегов, прочитанных из файла. Библиотека понимает множество форматов метаданных, несколько из которых могут сосуществовать в одном файле: Exif, IPTC, XMP, JFIF/JFXX, ICC-профили, поля Photoshop, а также свойства для WebP, WAV, AVI, PNG, BMP, GIF, ICO, PCX, QuickTime и MP4. Поддерживаемые типы файлов включают JPEG, TIFF, WebP, WAV, AVI, PSD, PNG, BMP, GIF, HEIF (HEIC и AVIF), ICO, PCX, QuickTime, MP4, а также форматы камер в raw-виде, такие как NEF (Nikon), CR2 (Canon), ORF (Olympus), ARW (Sony), RW2 (Panasonic), RWL (Leica) и SRW (Samsung). Специфичные для камер данные makernote декодируются для камер Agfa, Apple, Canon, Casio, Epson, Fujifilm, Kodak, Kyocera, Leica, Minolta, Nikon, Olympus, Panasonic, Pentax, Reconyx, Sanyo, Sigma/Foveon и Sony. Документация включает руководство по началу работы и примеры вывода на вики-странице проекта. Вопросы направляются на Stack Overflow с тегами metadata-extractor и java; ошибки и запросы функций — в трекер проблем GitHub, где по возможности запрашиваются примеры изображений. Приветствуются вклады, желательно начиная с описания проблемы и предлагаемого решения в issue. Другой способ помочь — внести вклад в библиотеку примеров изображений, используемых для исследований и тестирования. Библиотека разработана Дрю Ноуксом (Drew Noakes), с благодарностью пользователям, предоставившим предложения, отчёты об ошибках и примеры изображений. Существуют порты и обёртки для других языков: metadata-extractor-dotnet — полный порт на C#, поддерживаемый вместе с этой библиотекой, php-metadata-extractor оборачивает Java-проект для пользователей PHP, а обёртки для Clojure exif-processor и beeld предоставляют подмножества или все данные, причём beeld также предлагает низкоуровневую обработку изображений, такую как изменение размера с учётом ориентации.