Ubuntu下如何通过JSON使用ExifTool设置TIFF标签
解决ExifTool通过JSON修改DNG标签无变化的问题
一、为什么你的命令没生效
你尝试修改的TIFF:ImageWidth、TIFF:StripByteCounts属于DNG/TIFF的文件结构属性标签,这类标签是只读的,ExifTool不允许修改;另外JSON里的SourceFile字段是导出时自动生成的,导入时不需要添加,会被工具忽略。这两个原因导致工具判定文件无需更新。
二、正确的JSON格式
导入用的JSON只需直接定义可写标签的键值对,无需额外字段,示例如下:
{ "Artist": "你的名字", "Copyright": "© 2024 你的名字", "DNG:OriginalRawFileName": "原始文件名.raw" }
注意:
- 标签名要和ExifTool识别的名称完全一致(区分大小写)
- 对于有命名空间的标签(如
DNG:前缀),必须带上前缀明确指定所属类别
三、获取准确标签关键词的方法
- 导出当前文件的所有标签
用命令导出目标DNG的完整元数据,直接参考现有标签的命名和格式:
exiftool -json image.dng > current_metadata.json
- 列出指定类型的所有标签
- 列出DNG专属标签:
exiftool -list:dng - 列出TIFF相关标签:
exiftool -list:tiff - 列出所有支持的标签:
exiftool -list
- 查看标签的可写状态
用-w!参数过滤出可写标签:
# 列出当前文件所有可写标签 exiftool -w! image.dng # 检查单个标签是否可写(比如Artist) exiftool -Artist -w! image.dng
- 查看标签短名称
用-s参数获取更简洁的标签短名称(长、短名称都可用于JSON):
exiftool -s image.dng
四、正确的命令使用示例
确保JSON文件路径正确,目标文件无误,执行命令:
exiftool -json=exiftool_metadata.json -overwrite_original image.dng
如果遇到非致命警告需要强制修改,可添加-m参数忽略警告:
exiftool -m -json=exiftool_metadata.json -overwrite_original image.dng
内容的提问来源于stack exchange,提问作者Alexandra Krnčová
相关产品推荐
相关产品推荐

