All Projects → felixc → rexiv2

felixc / rexiv2

Licence: GPL-3.0 license
Rust library for read/write access to media-file metadata (Exif, XMP, and IPTC)

Programming Languages

rust
11053 projects
Makefile
30231 projects

Projects that are alternatives of or similar to rexiv2

exiftool-json-db
Maintain a JSON database of photos and videos with their metadata
Stars: ✭ 18 (-71.87%)
Mutual labels:  metadata, exif, iptc, xmp
Metadata Extractor
Extracts Exif, IPTC, XMP, ICC and other metadata from image, video and audio files
Stars: ✭ 1,972 (+2981.25%)
Mutual labels:  metadata, exif, iptc, xmp
pyexiv2
Read/Write metadata(including EXIF, IPTC, XMP), comment and ICC Profile embedded in digital images.
Stars: ✭ 120 (+87.5%)
Mutual labels:  metadata, exif, iptc, xmp
go-xmp
A native Go SDK for the Extensible Metadata Platform (XMP)
Stars: ✭ 36 (-43.75%)
Mutual labels:  metadata, exif, iptc, xmp
iptcinfo3
iptcinfo working for python 3 finally do pip3 install iptcinfo3
Stars: ✭ 37 (-42.19%)
Mutual labels:  metadata, exif, iptc
Photini
An easy to use digital photograph metadata (Exif, IPTC, XMP) editing application.
Stars: ✭ 113 (+76.56%)
Mutual labels:  exif, iptc, xmp
naturtag
Tag your nature photos with iNat taxonomy and observation metadata
Stars: ✭ 20 (-68.75%)
Mutual labels:  exif, iptc, xmp
exif-loader
Extract EXIF- & IPTC-data from your JPGs during build-time.
Stars: ✭ 14 (-78.12%)
Mutual labels:  exif, iptc
goexif2
MAINTAINER WANTED -- Decode embedded EXIF meta data from image files written in Pure Golang
Stars: ✭ 35 (-45.31%)
Mutual labels:  metadata, exif
exempi
Exempi: XMP SDK (freedesktop mirror)
Stars: ✭ 19 (-70.31%)
Mutual labels:  metadata, xmp
Exifer
A lightweight Exif meta-data decipher.
Stars: ✭ 290 (+353.13%)
Mutual labels:  metadata, exif
Exifr
📷 The fastest and most versatile JS EXIF reading library.
Stars: ✭ 448 (+600%)
Mutual labels:  metadata, exif
TinyEXIF
Tiny ISO-compliant C++ EXIF and XMP parsing library for JPEG.
Stars: ✭ 87 (+35.94%)
Mutual labels:  exif, xmp
Exiftool
ExifTool meta information reader/writer
Stars: ✭ 832 (+1200%)
Mutual labels:  metadata, exif
Exif Py
Easy to use Python module to extract Exif metadata from digital image files.
Stars: ✭ 561 (+776.56%)
Mutual labels:  metadata, exif
Xpiks
Cross-Platform Image Keywording Software for microstock photographers and illustrators
Stars: ✭ 81 (+26.56%)
Mutual labels:  metadata, exif
Metadata Extractor Dotnet
Extracts Exif, IPTC, XMP, ICC and other metadata from image, video and audio files
Stars: ✭ 518 (+709.38%)
Mutual labels:  metadata, exif
Exiftool Vendored.js
Fast, cross-platform Node.js access to ExifTool
Stars: ✭ 200 (+212.5%)
Mutual labels:  metadata, exif
Forensic Tools
A collection of tools for forensic analysis
Stars: ✭ 204 (+218.75%)
Mutual labels:  metadata, exif
Dicoogle
Dicoogle - Open Source PACS
Stars: ✭ 237 (+270.31%)
Mutual labels:  metadata

rexiv2

docs-badge  build-badge  coverage-badge  downloads-badge  version-badge  license-badge  reuse-badge  best-practices-badge 

Rust library for working with media file metadata

This crate provides a Rust wrapper around the gexiv2 library, which is a GObject-based wrapper around Exiv2, which provides read and write access to the Exif, XMP, and IPTC metadata in media files (typically photos) in various formats.

Documentation

API documentation is available online.

Exiv2’s homepage has documentation on available namespaces and tags.

gexiv2’s APIs may also be a useful reference, along with Exiv2’s API docs.

During development and testing, the Exiv2 command-line utility may come in handy.

Setup & Dependencies

rexiv2 requires Rust 1.63 or newer, and uses the 2021 edition of the language.

Being a wrapper for gexiv2 and Exiv2, rexiv2 obviously depends on them. These libraries are not bundled with rexiv2: you will need to install them separately.

gexiv2 is supported from version 0.10 onwards, and Exiv2 from version 0.23.

For full instructions on how to get started with rexiv2, including how to install the prerequisite dependencies, refer to the SETUP file.

Note that if you want BMFF support (e.g. HEIC, HEIF, AVIF, CR3, JXL/bmff files) you will need an up-to-date version of the underlying libraries (at least gexiv2 v0.13.0 and Exiv2 v0.27.4). You will also need to ensure that your version of Exiv2 has BMFF support enabled. This is generally enabled by default, but may be switched off in certain distributions due to licensing issues.

Versioning & History

rexiv2 is currently available as a pre-1.0 development version.

Version numbers follow the principles of Semantic Versioning.

No further breaking API changes are planned, but they are possible as a result of feedback on the API as more users try it out. Such feedback is welcome, and having the API tried out in real applications is part of ensuring it’s ready for a 1.0 release.

See the CHANGELOG file for a history of released versions.

Optional Features

raw-tag-access: If you need access to the raw byte values of tags, you can enable this feature and gain the get_tag_raw function.

This feature is disabled by default because it introduces a new dependency on glib-sys, and consequently on the GLib system library.

Contributions & Bug Reports

Contributions are gladly accepted, either through GitHub pull requests or by mailing patches to [email protected] (PGP key 8569B6311EE485F8).

By contributing, you are agreeing to make your contribution available under the same license terms as the rest of the project.

Bug reports and feature requests can also be sent through GitHub Issues or by email, and are very welcome and appreciated.

Reports of security issues can also be sent privately to the email address and PGP key given above.

For more information, see the CONTRIBUTING file.

Copyright & License

The Exiv2 and gexiv2 libraries are both released under the terms of the GNU General Public License (GPL), and since rexiv2 is linked to them, it too is made available under the terms of the GPL. Specifically:

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Please refer to the LICENSE file for a full copy of the license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].