Webpmux

名称

webpmux - 根据非动画 WebP 图片创建动画 WebP 文件,从动画 WebP 图片中提取帧,以及管理 XMP/EXIF 元数据和 ICC 配置文件。

摘要

webpmux -get GET_OPTIONS INPUT -o OUTPUT
webpmux -set SET_OPTIONS INPUT -o OUTPUT
webpmux -strip STRIP_OPTIONS INPUT -o OUTPUT
webpmux -frame FRAME_OPTIONS [ -frame ... ] [ -loop LOOP_COUNT ]
        [ -bgcolor BACKGROUND_COLOR ] -o OUTPUT
webpmux -duration DURATION OPTIONS [ -duration ... ] INPUT -o OUTPUT
webpmux -info INPUT
webpmux [-h|-help]
webpmux -version
webpmux argument_file_name

说明

webpmux 可用于创建/提取动画 WebP 文件,以及添加/提取/移除 XMP/EXIF 元数据和 ICC 配置文件。如果提供单个文件名(不以字符“-”开头),则命令行参数实际上会从此文件中进行标记化。这样可轻松编写脚本或使用大量参数。

选项

GET_OPTIONS(-get

icc
获取 ICC 配置文件。
exif
获取 EXIF 元数据。
xmp
获取 XMP 元数据。
frame n
从动画图片中获取第 n 帧。(n = 0 有一个特殊含义:最后一帧)

SET_OPTIONS(-set

loop LOOP_COUNT
设置动画文件的循环次数。 其中:“LOOP_COUNT”必须在 [0, 65535] 的范围内。
bgcolor BACKGROUND_COLOR
设置动画背景颜色。
icc file.icc
设置 ICC 配置文件。 其中:“file.icc”包含要设置的 ICC 配置文件。
exif file.exif
设置 EXIF 元数据。 其中:“file.exif”包含要设置的 EXIF 元数据。
xmp file.xmp
设置 XMP 元数据。 其中:“file.xmp”包含要设置的 XMP 元数据。

STRIP_OPTIONS(-strip 个)

icc
移除 ICC 配置文件。
exif
移除 EXIF 元数据。
xmp
移除 XMP 元数据。

DURATION_OPTIONS(-duration

修改特定帧间隔的时长。此选项仅对动画 WebP 有效,对单帧文件没有影响。

duration[,start[,end]]

其中:duration 表示间隔的时长(以毫秒为单位)。 必须为非负数。start 是该间隔的起始帧索引(可选)。end 是间隔时间(含)的结束帧索引(含)(可选)。

此选项的三种典型用法如下:

-duration d

将整个动画的时长设为“d”。

-duration d,f

将帧“f”的时长设为“d”

-duration d,start,end

将整个 [start,end] 间隔的时长设为“d”。

请注意,超出 [start, end] 间隔的帧将保持不变。end0 具有特殊含义,即“动画的最后一帧”。

提醒:帧索引编制从 1 开始。

FRAME_OPTIONS (-frame)

根据多张(非动画)WebP 图片创建动画 WebP 文件。

file_i +di[+xi+yi[+mi[bi]]]
其中:file_i 是第 i 帧(WebP 格式),xi,yi 指定此帧的图片偏移量,di 是下一帧之前的暂停时长,mi 是此帧的处理方法(0 表示 NONE,1 表示 BACKGROUND),bi 是此帧的混合方法(BLEND 为 +b,NO_BLEND 则为 -b)。参数 bi 可以省略,默认为 +b (BLEND)。此外,如果省略 bi,则可以省略 mi,该值将默认为 0 (NONE)。最后,如果省略 mibi,则可以省略 xiyi,并将默认值设为 +0+0

LOOP_COUNT

动画的重复次数。 有效范围为 0 至 65535 [默认值:0(无限)]。

BACKGROUND_COLOR

画布的背景颜色。 其中:ARGB0255 之间的整数,分别表示 Alpha、红色、绿色和蓝色分量值 [默认值:255,255,255,255]。

INPUT

WebP 格式的输入文件。

输出 (-o)

WebP 格式的输出文件。

注意:系统不会检查 EXIF、XMP 和 ICC 数据的性质,并会假定这些数据有效。

bug

示例

添加 ICC 配置文件:

webpmux -set icc image_profile.icc in.webp -o icc_container.webp

提取 ICC 配置文件:

webpmux -get icc icc_container.webp -o image_profile.icc

移除 ICC 配置文件:

webpmux -strip icc icc_container.webp -o without_icc.webp

添加 XMP 元数据:

webpmux -set xmp image_metadata.xmp in.webp -o xmp_container.webp

提取 XMP 元数据:

webpmux -get xmp xmp_container.webp -o image_metadata.xmp

移除 XMP 元数据:

webpmux -strip xmp xmp_container.webp -o without_xmp.webp

添加 EXIF 元数据:

webpmux -set exif image_metadata.exif in.webp -o exif_container.webp

提取 EXIF 元数据:

webpmux -get exif exif_container.webp -o image_metadata.exif

删除 EXIF 元数据:

webpmux -strip exif exif_container.webp -o without_exif.webp

根据 3 张(非动画)WebP 图片创建一个动画 WebP 文件:

webpmux -frame 1.webp +100 -frame 2.webp +100+50+50 \
  -frame 3.webp +100+50+50+1+b -loop 10 -bgcolor 255,255,255,255 \
  -o anim_container.webp

从动画 WebP 文件中获取第 2 帧:

webpmux -get frame 2 anim_container.webp -o frame_2.webp

使用 -get/-set/-strip,输入文件名以“-”开头:

webpmux -set icc image_profile.icc -o icc_container.webp -- ---in.webp
webpmux -get icc -o image_profile.icc -- ---icc_container.webp
webpmux -strip icc -o without_icc.webp -- ---icc_container.webp

作者

webpmux 属于 libwebp,由 WebP 团队编写。如需了解最新源代码树,请访问 https://chromium.googlesource.com/webm/libwebp/

本手册页面由 Vikas Arora vikaas.arora@gmail.com 为 Debian 项目编写(其他人也可使用)。