文章更新时间:2023-09-25 15:00
组件简介
维护者 | drewnoakes 个人 | 许可证类型 | Apache-2.0 |
首次发布 | 2009 年 2 月 26 日 | 最新发布时间 | 2022 年 5 月 5 日 |
GitHub Star | 2349 | GitHub Fork | 465 |
依赖包 | 135 | 依赖存储库 | 1,510 |
com.drewnoakes:metadata-extractor 是一个用于从图像,视频和音频文件中读取元数据的 Java 库。
官方仓库:https://github.com/drewnoakes/metadata-extractor
参考链接:
https://packages.ecosyste.ms/registries/repo1.maven.org/packages/com.drewnoakes:metadata-extractor
https://mvnrepository.com/artifact/com.drewnoakes/metadata-extractor
组件健康度
技术健康度 | 该组件具有较高的技术健康度,能够支持多种格式的元数据,包括 Exif, IPTC, XMP, ICC 等,以及多种类型的文件,如 JPEG, TIFF, WebP, WAV, AVI, PSD, PNG 等。该组件还能够解码多个相机制造商的特定“制造商注释”数据,如 Agfa, Apple, Canon, Casio 等。该组件的代码质量也较高,遵循了一致的编码风格和规范,使用了 Gradle 和 Maven 作为构建工具,使用了 GitHub Actions 作为持续集成工具。 |
社区健康度 | 该组件的社区健康度较好,有 465 个 fork 和 2.3k 个 star,表明该组件受到了广泛的关注和使用。该组件的 issue tracker 中有 129 个开放的问题和 15 个开放的拉取请求,表明该组件仍然存在一些需要解决或改进的问题,但也有一些贡献者在积极地参与和协作。该组件还提供了一个 wiki 页面,介绍了该组件的基本用法和功能。 |
更新和维护频率 | 该组件的更新和维护频率较高,最新的版本是 2.18.0,于 2022 年 5 月 5 日发布。该版本修复了一些整数溢出和 MP4 和 QuickTime 的问题,支持了更多的 Sony 镜头模型,改进了 Rational 值的展示等。该组件在过去一年内发布了四个版本,表明该组件仍然在不断地更新和完善。 |
兼容性 | 该组件具有较好的兼容性,能够在 Java 7 或更高版本上运行。该组件还提供了一个 .NET 版本,能够在 .NET Framework 3.5 或更高版本上运行。该组件没有依赖于其他第三方库,因此不会引起潜在的依赖冲突或版本不匹配的问题。 |
文档和支持 | 该组件提供了较为详细和完善的文档和支持。该组件的 README.md 文件 包含了该组件的简介,安装方法,使用示例,功能特点,问题反馈和贡献指南等信息。该组件还提供了一个 wiki 页面,介绍了该组件的基本用法和功能。此外,该组件还推荐用户通过 Stack Overflow 来提问和解答问题,并使用 issue tracker 来报告错误和提出功能请求。 |
com.drewnoakes:metadata-extractor 是一个功能强大,技术成熟,社区活跃,更新频繁,兼容性好,文档完善的 Java 库,用于从图像,视频和音频文件中读取元数据。我认为该组件具有很高的健康度,并且值得信赖和使用。
参考链接:
https://github.com/drewnoakes/metadata-extractor
https://github.com/drewnoakes/metadata-extractor/releases
https://www.nuget.org/packages/MetadataExtractor/
https://issues.apache.org/jira/browse/TIKA-3051
组件许可证解读
Apache License 2.0 是一种开源软件许可证,广泛用于授权开源项目和代码。Apache License 2.0 允许用户自由地使用、修改和分发受许可的软件,而无需支付版权费用或专利费用。它鼓励开发者共享他们的代码,并保护用户的权利。以下是该许可证的一些重要特点:
- 代码使用权:用户可以自由地使用、复制、修改、合并、发布、分发和销售受许可软件。
- 版权声明:用户必须在所有源代码副本中保留原始的版权声明、许可证声明和免责声明。
- 修改代码:如果用户对代码进行了修改,需要清楚标明哪些部分发生了变化,并不能暗示原作者同意这些修改。
- 商标使用:Apache License 2.0 并未授予使用原软件的任何商标或名称的权利。
- 专利许可:该许可证授予了在使用、修改或分发受许可软件时相关专利的非独占许可。这意味着如果用户授权其他人使用该软件,相关专利许可也会传递给接收方。
- 再许可:用户可以将受 Apache License 2.0 许可的代码作为一部分整合到其它开源项目中,并使用不同的许可证授权整个项目。但是,需要在代码中显式地说明使用了 Apache License 2.0 许可的部分。
需要注意的是,Apache License 2.0 并不保证软件没有缺陷或不稳定性,使用该软件的风险由用户自行承担。
许可证原文链接:https://github.com/drewnoakes/metadata-extractor/blob/master/LICENSE
组件漏洞版本及修复方案
漏洞编号 | 漏洞标题 | 漏洞等级 | 影响版本 | 修复版本 |
MPS-2022-3520 | metadata-extractor OOM拒绝服务漏洞 | 中危 | (-∞,2.18.0) | 2.18.0 |
MPS-2019-8573 | MetadataExtractor 拒绝服务漏洞 | 高危 | (-∞,2.13.0) | 2.13.0 |
同类型可替代组件
- sharp:一个用于在 Node.js 中处理图像的高性能 JavaScript 库,可以快速地调整 JPEG, PNG, WebP, AVIF 和 TIFF 图像的大小。使用了 libvips 库。官网:https://sharp.pixelplumbing.com/
- exiv2:一个用于读写图像元数据的 C++ 库和工具,支持 Exif, IPTC, XMP 等格式。官网:https://exiv2.org/
- scrimage:一个用于图像处理的 Java, Scala官网: 和 Kotlin 库,支持图像缩放,裁剪,旋转,滤镜等操作。官网:https://sksamuel.github.io/scrimage/
- exifr:一个用于读取 JS EXIF 数据的 JavaScript 库,支持多种图像格式和元数据标准。官网:https://mutiny.cz/exifr/
- TwelveMonkeys:一个为 Java 的 ImageIO 提供了额外的插件和扩展的 Java 库,支持更多的图像格式和功能。官网:https://haraldk.github.io/TwelveMonkeys/
组件SBOM
组件名称 | 版本 | 是否直接依赖 | 仓库 |
com.adobe.xmp:xmpcore | 6.1.11 | 是 | maven |
com.adobe.xmp:xmpcore | 6.0.6 | 是 | maven |
该SBOM清单仅展示部分内容
完整SBOM清单及检测报告:
https://www.murphysec.com/console/report/1706145951763972096/1706145951914967040?allow=1