#metadata #xmp #exif #photo #file-metadata #iptc

rexiv2

此库提供了对gexiv2库的Rust封装,gexiv2库是基于GObject封装的Exiv2库,该库提供了对各种格式媒体文件(通常是照片)中Exif、XMP和IPTC元数据的读写访问。

21个版本

0.10.0 2023年1月21日
0.9.1 2020年7月12日
0.9.0 2019年11月23日
0.7.0 2018年11月25日
0.2.1 2015年3月3日

#140 in 图像

Download history 167/week @ 2024-03-14 164/week @ 2024-03-21 210/week @ 2024-03-28 170/week @ 2024-04-04 138/week @ 2024-04-11 119/week @ 2024-04-18 135/week @ 2024-04-25 202/week @ 2024-05-02 124/week @ 2024-05-09 123/week @ 2024-05-16 135/week @ 2024-05-23 206/week @ 2024-05-30 124/week @ 2024-06-06 136/week @ 2024-06-13 173/week @ 2024-06-20 117/week @ 2024-06-27

每月下载量580次
用于 4 crate

GPL-3.0-or-later

69KB
769

rexiv2

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

Rust库,用于处理媒体文件元数据

此crate提供了对gexiv2库的Rust封装,gexiv2库是基于GObject封装的Exiv2库,该库提供了对各种格式媒体文件(通常是照片)中Exif、XMP和IPTC元数据的读写访问。

文档

API文档可在网上找到:在线文档

Exiv2的主页上有关于可用的命名空间和标签的文档。

gexiv2 的 API 也是一个有用的参考,还包括 Exiv2 的 API 文档

在开发和测试期间,可能需要使用 Exiv2 命令行工具

设置 & 依赖

rexiv2 需要 Rust 1.63 或更高版本,并使用 2021 版的语言。

作为 gexiv2 和 Exiv2 的包装器,rexiv2 显然依赖于它们。这些库并非与 rexiv2 一起打包:您需要单独安装它们。

gexiv2 从版本 0.10 开始支持,Exiv2 从版本 0.23 开始支持。

有关如何开始使用 rexiv2 的完整说明,包括如何安装必需的依赖项,请参阅 SETUP 文件。

注意,如果您需要 BMFF 支持(例如 HEIC、HEIF、AVIF、CR3、JXL/bmff 文件),则需要底层库的最新版本(至少 gexiv2 v0.13.0 和 Exiv2 v0.27.4)。您还需要确保您的 Exiv2 版本已启用 BMFF 支持。这通常默认启用,但由于许可问题,在某些发行版中可能会被关闭。

版本 & 历史

rexiv2 目前作为一个 1.0 版本前的开发版本提供。

版本号遵循 语义版本控制 的原则。

没有计划进行进一步的 API 破坏性更改,但随着更多用户尝试,API 可能会发生更改。这种反馈受到欢迎,并在实际应用程序中尝试 API 是确保其准备好 1.0 版本发布的一部分。

有关已发布版本的详细信息,请参阅 CHANGELOG 文件。

可选功能

raw-tag-access:如果您需要访问标签的原始字节数值,您可以启用此功能并获取 get_tag_raw 函数。

此功能默认禁用,因为它引入了对 glib-sys 的新依赖,进而依赖于 GLib 系统库。

贡献 & 缺陷报告

我们乐于接受贡献,无论是通过 GitHub 提交请求还是通过将补丁邮寄到 felixc@felixcrux.com(PGP 密钥 8569B6311EE485F8)。

通过贡献,您同意按照与项目其余部分相同的许可条款提供您的贡献。

缺陷报告和功能请求也可以通过 GitHub 问题或电子邮件发送,并且非常受欢迎和赞赏。

安全问题的报告也可以通过上面提供的电子邮件地址和 PGP 密钥私下发送。

有关更多信息,请参阅 CONTRIBUTING 文件。

Exiv2 和 gexiv2 库均在 GNU 通用公共许可证(GPL)的条款下发布,由于 rexiv2 链接到它们,因此也以 GPL 的条款提供。具体来说

本程序是自由软件:您可以在自由软件基金会发布的 GNU 通用公共许可证的条款下重新分发和/或修改它,许可证版本为 3,或者(根据您的选择)任何更高版本。

本程序以供他人使用为目的进行分发,但不提供任何保证;甚至不保证其适销性或适用于特定用途。有关详细信息,请参阅GNU通用公共许可证。

您应已随本程序收到GNU通用公共许可证的副本。如果没有,请参阅https://gnu.ac.cn/licenses/

请参阅LICENSE文件,以获取许可证的完整副本。

依赖项

~275–530KB
~11K SLoC