Immich 的 XMP 旁车文件

Immich 支持 XMP 旁车文件:这是将图像或视频元数据以 XML 格式保存在外部的 .xmp 文件。元数据提取任务会读取并导入 .xmp 中的元数据;Sidecar Write 任务则将元数据写回 .xmp。

tip

Lightroom、Darktable、digiKam 等应用也可以配置为将修改写入 .xmp 文件,以避免修改原始媒体文件。

元数据字段

Immich 并不支持所有元数据字段。下表列出它可以读取和写入的字段。写入时不会替换整个文件内容,而是与现有字段合并。

info

编辑描述、评分或更新标签后,Immich 会自动将 Sidecar Write 任务加入队列。

元数据 Immich 写入 XMP 的字段 Immich 从 XMP 读取的字段
描述 dc:description, tiff:ImageDescription dc:description, tiff:ImageDescription
评分 xmp:Rating xmp:Rating
日期与时间 exif:DateTimeOriginal, photoshop:DateCreated 按以下优先级:
exif:SubSecDateTimeOriginal
exif:DateTimeOriginal
xmp:SubSecCreateDate
xmp:CreateDate
xmp:CreationDate
xmp:MediaCreateDate
xmp:SubSecMediaCreateDate
xmp:DateTimeCreated
位置 exif:GPSLatitude, exif:GPSLongitude exif:GPSLatitude, exif:GPSLongitude
标签 digiKam:TagsList 按以下优先级:
digiKam:TagsList
lr:HierarchicalSubject
IPTC:Keywords
note

其他所有字段,例如 Creator、Source、IPTC 和 Lightroom 编辑信息,都会留在 .xmp 文件中,但不能在 Immich 中搜索。

文件命名规则

旁车文件必须与媒体文件使用相同的基本名称:

  • ✅ IMG_0001.jpg.xmp ← 优先使用
  • ✅ IMG_0001.xmp ← 回退选择
  • ❌ myphoto_meta.xmp ← 无法识别

如果 .jpg.xmp 和 .xmp 同时存在,Immich 使用 .jpg.xmp 文件。

CLI 支持

  1. 检测:上传时,Immich 会查找每个媒体文件旁边的 .xmp 文件。
  2. 复制:媒体文件和旁车文件都会复制到 Immich 内部图库目录。旁车文件会重命名以匹配内部文件名模板,例如:
    upload/library/<user>/YYYY/YYYY-MM-DD/IMG_0001.jpg
    upload/library/<user>/YYYY/YYYY-MM-DD/IMG_0001.jpg.xmp
  3. 提取:从旁车文件解析选定元数据(标题、描述、日期、评分、标签),保存到数据库。
  4. 写回:之后在 Web 界面更新标签、评分或描述时,Immich 会同时更新数据库和复制后的 .xmp 文件,使两者保持同步。

外部图库(挂载目录)支持

  1. 检测:DISCOVER 任务会自动关联挂载目录中位于现有媒体文件旁边的 .xmp 文件。不会移动或重命名任何文件。
  2. 提取:Immich 读取旁车文件中的同一组元数据字段,并保存到数据库。
  3. 写回:如果 Immich 对挂载目录具有写权限,之后对元数据的编辑,例如评分或标签,也会写回磁盘上的原始 .xmp 文件。
danger

如果挂载为只读,Immich 无法更新旁车文件或数据库:元数据编辑会静默失败,不显示警告。详情参见问题 #10538。 #10538

管理任务

Immich 提供两个管理旁车文件的任务:

任务 作用
DISCOVER 为尚未关联旁车文件的媒体查找相邻的新 .xmp 文件。
SYNC 重新读取现有 .xmp 文件并刷新数据库中的元数据,例如外部应用编辑之后。

Immich 的 XMP 旁车文件:原文配图 1

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容