【问题标题】:JPEG file size markers, inserting bytes, IPTC metadataJPEG 文件大小标记、插入字节、IPTC 元数据
【发布时间】:2014-02-13 18:42:08
【问题描述】:

我有兴趣在字节级别手动将 IPTC 字段注入 JPG 文件。 JPEG 文件具有多个带有可观大小标记的元数据段。 IPTC 的分段容器是:

App13 - 以 FF ED XX XX ..

开头

8BIM IPTC 文本元数据 - 以 38 42 49 4D 04 04 00 00 00 00 XX XX .. 开头

IPTC 字段以 1C 02 50 XX XX .. 开头(0x50 = 80,IPTC 字段 #80)。

(XX XX = 2 个字节的长度字描述了所提到的段数据的大小)。

JPEG 文件和元数据中是否还有其他尺寸标记需要注意?在使用自定义 IPTC 字段附加元数据段时,我是否必须增加它们的大小?

如何添加适用于所有已包含 IPTC 段的 JPEG 图像的自定义元数据字段(例如 #225)?

在 C# 中工作,但这是一个关于字节操作的问题,所以我猜语言并不重要。

【问题讨论】:

  • 我不明白这个问题。
  • @onemasse 如果您知道字节级别的 JPEG 元数据段的构造,问题应该很清楚。检查codeproject.com/KB/graphics/iptc.aspx
  • 嗯,我对 JPEG 和 EXIF 很熟悉。据我所知,EXIF、8BIM、IPTC 或 XMP 都不是 JPEG 标准的一部分。所以第一句话对我来说毫无意义。因此混乱。我想我现在明白你的问题了。您想知道是否需要调整任何其他长度字段。除非您的 JPEG 实际上是 MPO,否则我不这么认为。
  • @onemasse 好的,谢谢。我实际上正在处理具有上述所有内容的非常重的 jpeg 文件,甚至经常不必要地重复。

标签: metadata byte jpeg bytecode-manipulation iptc


【解决方案1】:

由于没有人回复,我将解释我做了什么。

广告 1。 我上面提到的文件标记足以操作 IPTC。

广告 2。 在字节级别的手动 IPTC 操作期间,如果您不小心删除或覆盖现有字节,尤其是当它们是标记(某些 JPEG 文件部分的标题)时,您可能很容易损坏文件。

ad 3. 必须找到并增加 App13 和适当的 8BIM 和 IPTC 标记以及新元数据字段的长度(内容大小 + IPTC 标头的 5 个字节)。因此,例如要添加新字段 #09,您必须找到 8BIM IPTC 段(38 42 49 4D 04 04 00 00 00 00 XX XX)并使用新的字长增加 XX XX 字节。然后增加包装 App13 段(在 8BIM 之前找到最后一个 FF ED XX XX 段)大小,最后在 8BIM 末尾(由于段长度字节,您知道结尾)您只需添加新的 IPTC 字段,如 1C 02 09 00 05 -添加长度为 5 的元数据字段 #09。以下 5 个字节将被视为字段内容 = 您添加的单词。

是的,这有点混乱,但有效:-)

【讨论】:

  • 嗨,Yosh!最近在询问有关 jpeg 的自定义元数据的问题后偶然发现了这篇文章,但没有找到答案。我有兴趣添加一个自定义字段,例如“湿度:4.5%”你提出的方式,但在字节业务中没有得到那么多解决 - 你能解释一下你的解决方法吗,你使用了哪些命令/工具?非常感谢!
  • @birgit 您更需要的是 XMP 元数据。在这里,我只关注 IPTC,它是封闭标准。这是 IPTC 字段的不错列表:sno.phy.queensu.ca/~phil/exiftool/TagNames/IPTC.htmlFotoWare Fotostation 是处理图像中元数据的非常好的工具,但目前我正在使用自己的代码来提取它。
  • 很好的答案。您可能有兴趣/能够回答this question
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-20
  • 1970-01-01
  • 2011-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多