发布于 

视频和图片的元数据IPTC处理

图片

MAC系统

安装

如果没装Homebrew,先安装 Homebrew,再执行

1
brew install exiftool

单图追加

1
exiftool -XMP-dc:Subject+="contains-synthetic-performer" -overwrite_original "/Users/xxx/图片路径/wooden_plant_markers_05_3188x1972.png"
  • = 追加,不会清空旧内容

批量追加

批量追加文件夹内所有 png/jpg

1
exiftool -XMP-dc:Subject+="contains-synthetic-performer" -overwrite_original -ext png -ext jpg "/你的图片文件夹路径/"

查看图片元数据

1
exiftool -XMP-dc:Subject 拖拽图片到终端

单图重写

1
exiftool -XMP-dc:Subject="contains-synthetic-performer" -overwrite_original 图片路径.png

单图删除标签

1
exiftool -XMP-dc:Subject= -overwrite_original 图片路径.png

批量覆盖式重写

1
exiftool -XMP-dc:Subject="contains-synthetic-performer" -overwrite_original -ext png -ext jpg /目标文件夹/

关键区分(新增 vs 修改)
+=”xxx”:新增(追加)→ 推荐日常使用,避免误删已有元数据
=”xxx”:覆盖修改 → 谨慎使用,会清除原本存在的 Subject

批量删除标签

删除文件夹内所有 PNG / JPG 的 XMP-dc:Subject(直接修改原文件)

1
exiftool -XMP-dc:Subject= -overwrite_original -ext png -ext jpg "/你的图片文件夹路径"

XMP-dc:Subject= 赋值为空 = 删除此字段
-ext png -ext jpg 只处理这两种格式,可以按需删减
-overwrite_original 直接覆盖原图;初次测试建议先移除该参数,会自动生成 xxx_original 备份文件

安全测试版本(先生成备份,不直接覆盖原图,推荐先测试)

1
exiftool -XMP-dc:Subject= -ext png -ext jpg "/你的图片文件夹路径"

只删除包含 contains-synthetic-performer 这条内容(精准删除,保留其他 Subject 文本)

1
exiftool -XMP-dc:Subject-="contains-synthetic-performer" -overwrite_original -ext png -ext jpg "/你的图片文件夹路径"

-= 代表从现有列表中移除指定条目,不会清空整个字段。

Windows系统

安装

官网下载:https://exiftool.org/
解压,把 exiftool(-k).exe 重命名为 exiftool.exe
将 exe 文件放入 C:\Windows\ 目录,即可在任意文件夹直接调用命令
图形界面备选:ExifToolGUI(免费 GUI 外壳,底层还是 ExifTool,适合不想敲命令)

追加标签

1
exiftool -XMP-dc:Subject+="contains-synthetic-performer" -overwrite_original -ext png -ext jpg "D:\xxx文件夹"

覆盖写入

1
exiftool -XMP-dc:Subject="contains-synthetic-performer" -overwrite_original -ext png -ext jpg "D:\xxx文件夹"

精准删除

1
exiftool -XMP-dc:Subject-="contains-synthetic-performer" -overwrite_original -ext png -ext jpg "D:\xxx文件夹"

批量清空整个 XMP-dc:Subject 字段

1
exiftool -XMP-dc:Subject= -overwrite_original -ext png -ext jpg "D:\xxx文件夹"

单张图片测试写法示例

1
exiftool -XMP-dc:Subject+="contains-synthetic-performer" -overwrite_original "D:\photo\test.png"

验证命令(检查是否写入 / 删除成功)

1
exiftool -XMP-dc:Subject "D:\photo\test.png"

关键参数说明
-overwrite_original:直接修改原图;去掉此参数,会生成 xxx_original.png 备份文件,初次测试建议先移除
-ext png -ext jpg:限定只处理 png、jpg;不需要某格式可以删掉
Windows 路径带空格:文件夹路径必须包裹英文双引号
Windows 图形界面软件备选(不用命令行)
MetaImage Windows 版:和 Mac 同款,可视化编辑 XMP → Dublin Core → Subject
ExifToolGUI:免费,可视化操作 ExifTool,适合批量素材
Photoshop:同样存在 PNG 元数据兼容缺陷,不推荐作为主力打标工具

视频

单个

查询(查看当前标签,Mac / Windows 完全一致)

1
exiftool -XMP-dc:Subject "文件完整路径.mp4"

追加(新增标签,保留已存在的其他 Subject 条目,推荐日常使用)

1
exiftool -XMP-dc:Subject+="contains-synthetic-performer" -overwrite_original "文件完整路径.mp4"

覆盖修改(清空全部原有 Subject,强制写入本条,谨慎使用)

1
exiftool -XMP-dc:Subject="contains-synthetic-performer" -overwrite_original "文件完整路径.mp4"

精准删除(仅移除 contains-synthetic-performer,保留其余 Subject 内容)

1
exiftool -XMP-dc:Subject-="contains-synthetic-performer" -overwrite_original "文件完整路径.mp4"

清空整个 dc:Subject 字段(全部条目删除)

1
exiftool -XMP-dc:Subject= -overwrite_original "文件完整路径.mp4"

批量

批量追加标签

1
exiftool -XMP-dc:Subject+="contains-synthetic-performer" -overwrite_original -ext mp4 "目标文件夹路径"

批量覆盖修改 Subject

1
exiftool -XMP-dc:Subject="contains-synthetic-performer" -overwrite_original -ext mp4 "目标文件夹路径"

批量精准移除本条标签

1
exiftool -XMP-dc:Subject-="contains-synthetic-performer" -overwrite_original -ext mp4 "目标文件夹路径"

批量清空所有文件的 dc:Subject 字段

1
exiftool -XMP-dc:Subject= -overwrite_original -ext mp4 "目标文件夹路径"

参数说明:
-ext mp4:只匹配 mp4 文件;如需同时支持 mov,改为 -ext mp4 -ext mov
-overwrite_original:直接修改源文件;移除该参数会自动生成 xxx_original.mp4 备份文件,适合初次测试

扩展

单文件示例

1
2
3
4
5
6
exiftool \
-XMP-dc:Subject+="contains-synthetic-performer" \
-XMP-dc:Creator="创作者名称" \
-XMP-dc:Source="素材来源链接" \
-XMP-dc:Description="视频描述文字" \
-overwrite_original "文件路径.mp4"

批量示例

1
2
3
4
5
exiftool \
-XMP-dc:Subject+="contains-synthetic-performer" \
-XMP-dc:Creator="创作者名称" \
-XMP-dc:Source="素材来源链接" \
-overwrite_original -ext mp4 "目标文件夹路径"

注意

macOS 与 Windows 系统差异 & 重要注意事项

  1. 系统差异
    ① 可执行程序名称
    Mac:直接调用 exiftool
    Windows:环境变量配置完成可写 exiftool;未配置环境变量必须写 exiftool.exe
    ② 文件路径分隔符
    Mac:/
    示例:”/Users/xxx/AmazonVideo/demo.mp4”
    Windows:
    CMD:推荐 \;PowerShell:/ 和 \ 均可
    示例:”D:\AmazonVideo\demo.mp4”
    路径包含空格必须包裹英文双引号 “路径”,两端规则统一。

多行命令续行符号
Mac(zsh/bash)

1
2
3
exiftool \
-XMP-dc:Subject+="xxx" \
-overwrite_original "文件.mp4"

Windows CMD

1
2
3
exiftool ^
-XMP-dc:Subject+="xxx" ^
-overwrite_original "D:\video.mp4"

Windows PowerShell

1
2
3
exiftool `
-XMP-dc:Subject+="xxx" `
-overwrite_original "D:\video.mp4"

通用高危注意事项
视频编码顺序硬性规则
必须:视频导出最终 MP4 → ExifTool 写入元数据;
禁止:先打标签,再使用剪映 / FFmpeg/AME 二次转码,转码工具会丢弃 XMP 元数据。
容器格式兼容
✅ 稳定支持:MP4、MOV
⚠️ MKV:XMP 写入兼容性差,电商平台大概率无法识别
❌ WebM、AVI:不建议嵌入 XMP 用于亚马逊合规场景
校验标准
剪映、播放器、媒体预览工具无法可靠读取视频内嵌 XMP,唯一校验方式:exiftool 查询命令
字符引号规范
全部使用英文双引号包裹文本内容;Windows CMD 对单引号支持存在缺陷,不要混用单引号。

元数据字段参考

XMP元数据字段完整对照表

说明:

  1. 字段前缀 XMP- 为ExifTool调用格式;
  2. PNG、MP4视频仅支持XMP字段,不支持老式IPTC-IIM
  3. dc:Subject 为数组Bag类型,使用 += 追加;其余大多为单文本;
  4. 区分两套容易混淆地点字段:photoshop:*(PS私有) vs Iptc4xmpCore:*(标准跨软件,推荐优先使用)

1. Dublin Core(dc 命名空间|核心基础字段)

UI展示名称 ExifTool完整指令字段 命名空间 数据类型 业务备注
Title XMP-dc:Title dc 单文本 素材标题
Description XMP-dc:Description dc 单文本 素材描述
Creator XMP-dc:Creator dc 单文本 创作者
Source XMP-dc:Source dc 单文本 素材来源链接/来源说明
Subject XMP-dc:Subject dc Bag数组 ✅亚马逊合规标签 contains-synthetic-performer 存放位置
Rights XMP-dc:Rights dc 单文本 版权文字声明

2. IPTC4XMP Core(标准IPTC XMP,推荐优先使用)

UI展示名称 ExifTool完整指令字段 命名空间 数据类型 业务备注
Rights Usage Terms XMP-Iptc4xmpCore:RightsUsageTerms Iptc4xmpCore 单文本 使用权限说明
City XMP-Iptc4xmpCore:City Iptc4xmpCore 单文本 城市
State/Province XMP-Iptc4xmpCore:ProvinceState Iptc4xmpCore 单文本 省/州
Country XMP-Iptc4xmpCore:Country Iptc4xmpCore 单文本 国家名称
Country Code XMP-Iptc4xmpCore:CountryCode Iptc4xmpCore 单文本 ISO两位国家代码(CN/US等)
Sublocation XMP-Iptc4xmpCore:Sublocation Iptc4xmpCore 单文本 细分地点
Intellectual Genre XMP-Iptc4xmpCore:IntellectualGenre Iptc4xmpCore 单文本 作品类型
Headline XMP-Iptc4xmpCore:Headline Iptc4xmpCore 单文本 新闻/素材标题摘要

3. Photoshop 私有XMP命名空间(不推荐新项目优先使用,兼容旧PS文件)

UI展示名称 ExifTool完整指令字段 命名空间
City XMP-photoshop:City photoshop
Country XMP-photoshop:Country photoshop
Credit XMP-photoshop:Credit photoshop
Authors Position XMP-photoshop:AuthorsPosition photoshop
Caption Writer XMP-photoshop:CaptionWriter photoshop
Date Created XMP-photoshop:DateCreated photoshop

4. xmpRights 版权命名空间

UI展示名称 ExifTool完整指令字段 命名空间
Copyright Notice XMP-xmpRights:CopyrightNotice xmpRights
Copyright Status XMP-xmpRights:Marked xmpRights

ExifTool MP4视频全套命令(单个+批量)

目标标签:contains-synthetic-performer

单文件操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#### 1. 查询现有Subject
exiftool -XMP-dc:Subject "文件路径.mp4"

#### 2. 追加标签(推荐,保留原有条目)
exiftool -XMP-dc:Subject+="contains-synthetic-performer" -overwrite_original "文件路径.mp4"

#### 3. 覆盖重写(清空全部原有Subject,谨慎使用)
exiftool -XMP-dc:Subject="contains-synthetic-performer" -overwrite_original "文件路径.mp4"

#### 4. 精准删除本条标签(保留其他Subject内容)
exiftool -XMP-dc:Subject-="contains-synthetic-performer" -overwrite_original "文件路径.mp4"

#### 5. 清空整个dc:Subject字段
exiftool -XMP-dc:Subject= -overwrite_original "文件路径.mp4"

脚本

MAC

图片

【图片写入】mac_image_add.sh

1
2
3
4
5
6
7
#!/bin/zsh
TARGET_DIR="/xxx/xxx"

echo "===== 图片:添加 contains-synthetic-performer 标签 ====="
exiftool -XMP-dc:Subject+="contains-synthetic-performer" -overwrite_original -ext png -ext jpg -ext webp "$TARGET_DIR"
echo "操作完成,按回车退出"
read

【图片校验】mac_image_check.sh

1
2
3
4
5
6
7
#!/bin/zsh
TARGET_DIR="/xxx/xxx"

echo "===== 图片:读取 XMP-dc:Subject ====="
exiftool -XMP-dc:Subject -ext png -ext jpg -ext webp "$TARGET_DIR"
echo "查询完成,按回车退出"
read

mac_image_check_missing.sh(图片校验,导出缺失清单)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/zsh
TARGET_DIR="/xxx/AddIPTC"
OUTPUT_FILE="$TARGET_DIR/missing_image_tag_list.txt"

echo "===== 图片:查找缺失 contains-synthetic-performer 的文件 ====="
echo "输出文件路径:$OUTPUT_FILE"

# 清空旧文件
> "$OUTPUT_FILE"

exiftool -filename -ext png -ext jpg -ext webp \
-if 'not $XMP-dc:Subject =~ /contains-synthetic-performer/' \
-s3 "$TARGET_DIR" >> "$OUTPUT_FILE"

echo "======================================"
echo "查找完成!缺失标签文件已保存至:"
echo "$OUTPUT_FILE"
echo "按回车关闭窗口"
read

视频

【视频写入】mac_video_add.sh

1
2
3
4
5
6
7
#!/bin/zsh
TARGET_DIR="/xxx/xxx"

echo "===== 视频:添加 contains-synthetic-performer 标签 ====="
exiftool -XMP-dc:Subject+="contains-synthetic-performer" -overwrite_original -ext mp4 -ext mov -ext webm -ext mkv "$TARGET_DIR"
echo "操作完成,按回车退出"
read

【视频校验】mac_video_check.sh

1
2
3
4
5
6
7
#!/bin/zsh
TARGET_DIR="/xxx/xxx"

echo "===== 视频:读取 XMP-dc:Subject ====="
exiftool -XMP-dc:Subject -ext mp4 -ext mov -ext webm -ext mkv "$TARGET_DIR"
echo "查询完成,按回车退出"
read

mac_video_check_missing.sh(视频校验,导出缺失清单)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/zsh
TARGET_DIR="/xxx/AddIPTC"
OUTPUT_FILE="$TARGET_DIR/missing_video_tag_list.txt"

echo "===== 视频:查找缺失 contains-synthetic-performer 的文件 ====="
echo "输出文件路径:$OUTPUT_FILE"

> "$OUTPUT_FILE"

exiftool -filename -ext mp4 -ext mov -ext webm -ext mkv \
-if 'not $XMP-dc:Subject =~ /contains-synthetic-performer/' \
-s3 "$TARGET_DIR" >> "$OUTPUT_FILE"

echo "======================================"
echo "查找完成!缺失标签文件已保存至:"
echo "$OUTPUT_FILE"
echo "按回车关闭窗口"
read

执行

授权

1
chmod +x mac_image_add.sh mac_image_check.sh mac_video_add.sh mac_video_check.sh

1
chmod +x mac_image_add.sh mac_image_check_missing.sh mac_video_add.sh mac_video_check_missing.sh

按实际用到的脚步来选

双击运行;或者终端 ./mac_add_tag.sh
注意:mac 默认 zsh 脚本头用 #!/bin/zsh,如果你用 bash 可改成 #!/bin/bash

Windows

图片

【图片写入】win_image_add.bat

1
2
3
4
5
6
7
@echo off
set "TARGET_DIR=%USERPROFILE%\xxx\xxx"
echo ===== 图片:添加 contains-synthetic-performer 标签 =====
exiftool -XMP-dc:Subject+="contains-synthetic-performer" -overwrite_original -ext png -ext jpg -ext webp "%TARGET_DIR%"
echo.
echo 执行完毕,按任意键关闭
pause >nul

【图片校验】win_image_check.bat

1
2
3
4
5
6
7
@echo off
set "TARGET_DIR=%USERPROFILE%\xxx\xxx"
echo ===== 图片:读取 XMP-dc:Subject =====
exiftool -XMP-dc:Subject -ext png -ext jpg -ext webp "%TARGET_DIR%"
echo.
echo 查询完毕,按任意键关闭
pause >nul

win_image_check_missing.bat(图片校验,导出缺失清单)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@echo off
set "TARGET_DIR=%USERPROFILE%\Documents\ec\product\AddIPTC"
set "OUTPUT_FILE=%TARGET_DIR%\missing_image_tag_list.txt"

echo ===== 图片:查找缺失 contains-synthetic-performer 的文件 =====
echo 清单输出路径:%OUTPUT_FILE%

rem 清空旧文档
echo. > "%OUTPUT_FILE%"

exiftool -filename -ext png -ext jpg -ext webp ^
-if "not $XMP-dc:Subject =~ /contains-synthetic-performer/" ^
-s3 "%TARGET_DIR%" >> "%OUTPUT_FILE%"

echo.
echo =============================================
echo 检索完成!缺失标签列表已保存
echo 文件位置:%OUTPUT_FILE%
pause >nul

视频

【视频写入】win_video_add.bat

1
2
3
4
5
6
7
@echo off
set "TARGET_DIR=%USERPROFILE%\xxx\xxx"
echo ===== 视频:添加 contains-synthetic-performer 标签 =====
exiftool -XMP-dc:Subject+="contains-synthetic-performer" -overwrite_original -ext mp4 -ext mov -ext webm -ext mkv "%TARGET_DIR%"
echo.
echo 执行完毕,按任意键关闭
pause >nul

【视频校验】win_video_check.bat

1
2
3
4
5
6
7
@echo off
set "TARGET_DIR=%USERPROFILE%\xxx\xxx"
echo ===== 视频:读取 XMP-dc:Subject =====
exiftool -XMP-dc:Subject -ext mp4 -ext mov -ext webm -ext mkv "%TARGET_DIR%"
echo.
echo 查询完毕,按任意键关闭
pause >nul

win_video_check_missing.bat(视频校验,导出缺失清单)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@echo off
set "TARGET_DIR=%USERPROFILE%\Documents\ec\product\AddIPTC"
set "OUTPUT_FILE=%TARGET_DIR%\missing_video_tag_list.txt"

echo ===== 视频:查找缺失 contains-synthetic-performer 的文件 =====
echo 清单输出路径:%OUTPUT_FILE%

echo. > "%OUTPUT_FILE%"

exiftool -filename -ext mp4 -ext mov -ext webm -ext mkv ^
-if "not $XMP-dc:Subject =~ /contains-synthetic-performer/" ^
-s3 "%TARGET_DIR%" >> "%OUTPUT_FILE%"

echo.
echo =============================================
echo 检索完成!缺失标签列表已保存
echo 文件位置:%OUTPUT_FILE%
pause >nul

注意

WebP:新版 ExifTool 才完整支持 WebP 写入 XMP,建议升级 ExifTool 到最新版
视频兼容性重点
MP4、MOV 原生支持内嵌 XMP;
MKV、WebM 绝大多数不能内嵌 XMP,exiftool 默认会生成 .xmp 附属文件,不会修改视频本体;
如果不想生成 sidecar 文件,无法对这类容器写入内置元数据,属于格式限制。
-overwrite_original 会自动生成 _original 备份原文件,方便出错恢复;不需要备份可以移除该参数。
Windows:下载 ExifTool,解压后把 exiftool.exe 放到系统 PATH,或者和 bat 脚本放在同一文件夹。

参数说明
-s3:仅输出纯文件路径,无多余文字,txt 干净整洁
-if ‘not $XMP-dc:Subject =~ /关键词/‘ 正则匹配筛选
清单生成在目标文件夹 AddIPTC 内
如果 txt 是空文件 = 所有文件都成功打上标签
⚠️重要提醒(视频)
MKV / WebM 无法内嵌 XMP,只能生成附属 xmp 文件;
这类文件执行写入后,本体元数据不会变化,校验脚本会判定为缺失标签,属于格式限制。