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 支持
- 检测:上传时,Immich 会查找每个媒体文件旁边的 .xmp 文件。
- 复制:媒体文件和旁车文件都会复制到 Immich 内部图库目录。旁车文件会重命名以匹配内部文件名模板,例如:
upload/library/<user>/YYYY/YYYY-MM-DD/IMG_0001.jpgupload/library/<user>/YYYY/YYYY-MM-DD/IMG_0001.jpg.xmp - 提取:从旁车文件解析选定元数据(标题、描述、日期、评分、标签),保存到数据库。
- 写回:之后在 Web 界面更新标签、评分或描述时,Immich 会同时更新数据库和复制后的 .xmp 文件,使两者保持同步。
外部图库(挂载目录)支持
- 检测:DISCOVER 任务会自动关联挂载目录中位于现有媒体文件旁边的 .xmp 文件。不会移动或重命名任何文件。
- 提取:Immich 读取旁车文件中的同一组元数据字段,并保存到数据库。
- 写回:如果 Immich 对挂载目录具有写权限,之后对元数据的编辑,例如评分或标签,也会写回磁盘上的原始 .xmp 文件。
danger
如果挂载为只读,Immich 无法更新旁车文件或数据库:元数据编辑会静默失败,不显示警告。详情参见问题 #10538。 #10538
管理任务
Immich 提供两个管理旁车文件的任务:
| 任务 | 作用 |
|---|---|
DISCOVER |
为尚未关联旁车文件的媒体查找相邻的新 .xmp 文件。 |
SYNC |
重新读取现有 .xmp 文件并刷新数据库中的元数据,例如外部应用编辑之后。 |

© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END











暂无评论内容