0

目标是从文件类型中提取元数据。我知道这些:用于音频文件的 TagLib 用于图像的 Exiv2(但这是用于 C++)

  1. 我不确定 TagLib 是否适用于 C 程序。我也找不到那种顺序的东西。
  2. Exiv2 是一个 C++ 库。

你知道我可以在 C 程序中使用的库吗?或者如果有其他库,我如何将它们与我的 C 程序接口?

4

3 回答 3

2
  • libexif C EXIF库是用纯可移植 C 语言编写的库。它从图像文件读取和写入 EXIF 元信息。
  • GNU Libextractor是一个用于从文件中提取元数据的库。GNU libextractor 使用辅助库(插件)来执行实际的提取。因此,GNU libextractor 可以简单地通过安装额外的插件来扩展。目前,libextractor 支持以下格式:HTML, MAN, PS, DVI, OLE2 (DOC, XLS, PPT), OpenOffice (sxw), StarOffice (sdw), FLAC, MP3 (ID3v1 and ID3v2), OGG, WAV, S3M ( Scream Tracker 3), XM (eXtended Module), IT (Impulse Tracker), NSF(E) (NES music), SID (C64 music), EXIV2, JPEG, GIF, PNG, TIFF, DEB, RPM, TAR(.GZ )、LZH、LHA、RAR、ZIP、CAB、7-ZIP、AR、MTREE、PAX、CPIO、ISO9660、SHAR、RAW、XAR FLV、REAL、RIFF (AVI)、MPEG、QT 和 ASF。此外,还会检测到各种其他 MIME 类型。
  • 元数据提取工具由新西兰国家图书馆开发,以编程方式从 PDF 文档、图像文件、声音文件 Microsoft Office 文档等多种文件格式中提取保存元数据。
  • TagLib是一个用于读取和编辑几种流行音频格式的元数据的库。目前它支持 MP3 文件的 ID3v1 和 ID3v2、Ogg Vorbis 注释和 ID3 标签以及 FLAC、MPC、Speex、WavPack TrueAudio、WAV、AIFF、MP4 和 ASF 文件中的 Vorbis 注释。
于 2012-10-31T05:43:22.340 回答
0

这是一个非常模糊的问题。对于图像,一些常见的 C 库包括:用于读取 Exif 元数据的LibExif,用于读取 TIFF 文件(及其元数据)的Libtiff ,用于从 GeoTIFF 文件读取地理数据的libgeotiff,等等。这在很大程度上取决于您尝试从中读取元数据的文件类型(以及您尝试读取的元数据类型)。

于 2012-10-15T23:50:24.503 回答
0

如果可能,应该使用 Adob​​e XMP 库在元数据世界的可怕碎片中实现可移植性。

Adobe 发布了一个源代码 SDK,不仅可以读取元数据,还可以修改元数据。

https://en.wikipedia.org/wiki/Extensible_Metadata_Platform

于 2020-10-17T14:23:42.673 回答