简单布局的 WebP 根本没地方放元数据
WebP 是一个 RIFF 文件:一个文件头,然后是一串块。简单布局只包含一个 VP8 块(有损)或 VP8L 块(无损),整个文件就这些。那套布局里没有可以放 EXIF 的位置——不是有个空位没填,而是根本没有。只有扩展布局才可能带元数据,它以一个 VP8X 块开头,块里的标志位声明这个文件还包含什么。
扩展布局能装什么
VP8X 为透明通道、动画、ICC 配置文件、EXIF 和 XMP 各设一个标志位,对应的块跟在后面。所以一个 WebP 要么在那个头里声明了自己的元数据,要么就是没有——这让 WebP 的读取结果比那些需要扫描标记的格式更加确定。在下方的标签表里,文件自身的 RIFF 块归在 WebP 分组下,而 EXIF 或 ICC 块各自单列一组——所以你能看出每个值究竟来自哪一个块。
WebP 文件通常从哪来
你遇到的大多数 WebP 是转换工具或 CDN 把 JPEG、PNG 转小之后的产物。这类流程往往在转换途中就丢掉了元数据,这正是为什么这么多 WebP 在这里读出来是空的。真带着 EXIF 的那些,一般是因为转换时被明确要求保留,而其中的相机信息来自原来那个 JPEG。
WebP 的结构
- 结构
- 可以存放元数据
- 图像本身
WebP 把东西放在哪里
- VP8 / VP8L
- 图像本身,有损或无损。只有这一块的文件装不下任何元数据。
- VP8X
- 扩展头。它的标志位声明下面存在哪些块。
- EXIF
- 一个 EXIF 块,通常继承自被转换的那个文件。
- XMP
- XMP 数据包,编辑器写过时才有。
- ICCP
- 一份 ICC 色彩配置文件。
- ANIM / ANMF
- 动画控制与每一帧。重编码清理会把它压平。
关于 WebP
WebP 支持 EXIF 吗?展开
支持,但只在以 VP8X 块开头的扩展布局里。简单布局的 WebP 没有任何能装下它的结构,所以对某个具体文件来说答案是确定的,不需要靠扫描去猜。
我的 WebP 读不出元数据,是工具的问题吗?展开
几乎可以肯定不是。转换工具和 CDN 在生成 WebP 时惯常丢弃元数据,而简单布局的 WebP 本来就装不下。标签表仍会显示它确实具有的文件结构信息。
清理一个动图 WebP 会怎样?展开
它会变成单帧。重编码清理要重绘图像,而画布只保留一帧——所以动画在这里是实打实的代价,会在你点下按钮之前就说明,而不是事后才发现。
清理 WebP 是无损的吗?展开
不是。文件会以 WebP 重新编码,所以画质可能变化,哪怕原文件是无损的 VP8L。色彩配置文件也会和其他块一起被丢弃。
能做什么
- 删除 EXIF 数据
- 拖入一张照片,下载一份去掉嵌入元数据的副本。JPEG 无损删除 EXIF 段;HEIC、PNG、WebP 等格式通过重编码去除。文件不会上传。
- 删除 GPS 位置
- 先看清照片带着哪组坐标,再下载一份不含坐标的副本。JPEG 只去掉位置标签,其余信息原样保留。文件不会上传。
- 编辑 JPEG EXIF
- 修改 JPEG 的标题、作者、描述、版权、软件和拍摄时间,然后下载编辑后的副本。全部在本地完成,原文件不会被改动。
- XMP、IPTC 与 ICC 查看
- 读取文件携带的每一个元数据分组 —— EXIF、XMP、IPTC、ICC、厂商备注 —— 分组呈现并可导出为 JSON。适用于素材质检、取证和排查处理流程。文件不会上传。
- 打开多张照片
- 一次打开最多五十张照片,看清哪些带有位置信息,并把整批导出成表格。全程不上传,原文件也从不被写入。