小编gdh*_*gdh的帖子

Exiftool在PNG图像中创建OSX可见XMP元数据

在我的图像处理软件周围,我使用exiftool成功地从Cr2,TIFF,JPG文件中删除exif信息.添加的标签,例如"关键字",在OSX(山狮)Finder,预览中都可见,并且被Spotlight很好地编入索引.

对于PNG,我需要回退到XMP,因为这是PNG的元数据容器.但是,预览和SpotLight似乎都没有选择使用exiftool的标签.相反,如果我首先在预览中添加标签并使用exiftool稍后添加新标签,则此IS已编入索引.我在这里看到的差异在XMP原始数据中,exiftool新创建了一个标题,而Preview没有.

例如,请查看PNG上维基百科页面中的以下PNG,无需元数据https://upload.wikimedia.org/wikipedia/commons/4/47/PNG_transparency_demonstration_1.png:

示例PNG没有元数据

使用exiftool添加关键字,然后转储XMP数据块:

exiftool -xmp-dc:subject=ViaExifSubject ./PNG_transparency_demonstration_1.png
exiftool -xmp -b ./PNG_transparency_demonstration_1.png
Run Code Online (Sandbox Code Playgroud)

提供以下XMP数据:

<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 9.02'>
    <rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
  <dc:subject>
   <rdf:Bag>
    <rdf:li>ViaExifSubject</rdf:li>
   </rdf:Bag>
  </dc:subject>
 </rdf:Description>
</rdf:RDF>
</x:xmpmeta>
<?xpacket end='r'?>
Run Code Online (Sandbox Code Playgroud)

但是,在"预览"或"查找器"信息面板中,未找到"ViaExifSubject".

或者,使用OSX预览添加注释(在预览中打开,显示检查器,转到关键字选项卡,单击'+'添加关键字).XMP再次通过exiftool转储:

<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 5.1.2">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:dc="http://purl.org/dc/elements/1.1/">
         <dc:subject>
            <rdf:Bag>
               <rdf:li>viaPreview</rdf:li>
            </rdf:Bag>
         </dc:subject>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>
Run Code Online (Sandbox Code Playgroud)

xpacket报头中不存在预览生成的关键词,并且XMP工具包是不同的.现在可以看到"viaPreview"标签,例如mdls在CLI上使用.

将原始XMP信息推送到干净文件中也不会产生预期结果:

exiftool "-xmp<=viaexif.xmp" PNG_transparency_demonstration_1.png
Run Code Online (Sandbox Code Playgroud)

令人惊讶的是,如果我首先使用预览创建一个标签,那么执行上面的命令,反映新标签我怀疑我正在监督需要"激活"的外部数据解析器,拾取标签并将它们放在不同的位置商店(例如.DS_store).我还没有看到任何添加的xattr.

这些是我的问题:

  • exiftool是XMP/PNG组合的正确工具,我错过了一个特定的功能
  • OSX是否违反了XMP标准?编辑:显然,默认情况下OSX不会遵守XMP
  • 我应该用另一种工具来研究剥离容器吗?

我在我的磁盘上挖出了我的xmp_sdk并尝试了提供的示例:

ModifyXMP可以将"纯"XMP信息写入到OSG Finder中显示的PNG中 - …

macos xmp exif spotlight exiftool

9
推荐指数
1
解决办法
3037
查看次数

标签 统计

exif ×1

exiftool ×1

macos ×1

spotlight ×1

xmp ×1