Name
webpmux
-- Create animated WebP files from non-animated WebP images,
extract frames from animated WebP images, and manage XMP/EXIF metadata
and ICC profile.
Synopsis
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
Description
webpmux
can be used to create/extract from animated WebP files, as well as
to add/extract/strip XMP/EXIF metadata and ICC profile.
If a single file name (not starting with the character '-') is supplied as
the argument, the command line arguments are actually tokenized from this file.
This allows for easy scripting or using a large number of arguments.
Options
GET_OPTIONS (-get
)
icc
- Get ICC profile.
exif
- Get EXIF metadata.
xmp
- Get XMP metadata.
frame n
- Get nth frame from an animated image. (n = 0 has a special meaning: last frame)
SET_OPTIONS (-set
)
loop LOOP_COUNT
- Set loop count on an animated file. Where: 'LOOP_COUNT' must be in range [0, 65535].
bgcolor BACKGROUND_COLOR
- Set the animation background color.
icc file.icc
- Set ICC profile. Where: 'file.icc' contains the ICC profile to be set.
exif file.exif
- Set EXIF metadata. Where: 'file.exif' contains the EXIF metadata to be set.
xmp file.xmp
- Set XMP metadata. Where: 'file.xmp' contains the XMP metadata to be set.
STRIP_OPTIONS (-strip
)
icc
- Strip ICC profile.
exif
- Strip EXIF metadata.
xmp
- Strip XMP metadata.
DURATION_OPTIONS (-duration
)
Amend the duration of a specific interval of frames. This option is only effective on animated WebP and has no effect on a single-frame file.
duration[,start[,end]]
Where:
duration
is the duration for the interval in milliseconds (mandatory). Must be non-negative.start
is the starting frame index of the interval (optional).end
is the ending frame index (inclusive) of the interval (optional).The three typical usages of this option are:
-
-duration d
set the duration to 'd' for the whole animation.
-duration d,f
set the duration of frame 'f' to 'd'.
-duration d,start,end
set the duration to 'd' for the whole [start,end] interval.
Note that the frames outside of the
[start, end]
interval will remain untouched. Theend
value0
has the special meaning 'last frame of the animation'.Reminder: frame indexing starts at
1
.
-
FRAME_OPTIONS (-frame
)
Create an animated WebP file from multiple (non-animated) WebP images.
file_i +di[+xi+yi[+mi[bi]]]
- Where:
file_i
is the i'th frame (WebP format),xi
,yi
specify the image offset for this frame,di
is the pause duration before next frame,mi
is the dispose method for this frame (0
for NONE or1
for BACKGROUND) andbi
is the blending method for this frame (+b
for BLEND or-b
for NO_BLEND). Argumentbi
can be omitted and will default to+b
(BLEND). Also,mi
can be omitted ifbi
is omitted and will default to0
(NONE). Finally, ifmi
andbi
are omitted thenxi
andyi
can be omitted and will default to+0+0
.
LOOP_COUNT
Number of times to repeat the animation. Valid range is 0 to 65535 [Default: 0 (infinite)].
BACKGROUND_COLOR
Background color of the canvas.
Where: A
, R
, G
and B
are integers in the range 0
to 255
specifying
the Alpha, Red, Green and Blue component values respectively
[Default: 255,255,255,255
].
INPUT
Input file in WebP format.
OUTPUT (-o
)
Output file in WebP format.
Note: The nature of EXIF, XMP and ICC data is not checked and is assumed to be valid.
Bugs
Please report all bugs to our issue tracker: https://issues.webmproject.org
- Patches welcome! See this page to get started: https://www.webmproject.org/code/contribute/submitting-patches/
Examples
Add ICC profile:
webpmux -set icc image_profile.icc in.webp -o icc_container.webp
Extract ICC profile:
webpmux -get icc icc_container.webp -o image_profile.icc
Strip ICC profile:
webpmux -strip icc icc_container.webp -o without_icc.webp
Add XMP metadata:
webpmux -set xmp image_metadata.xmp in.webp -o xmp_container.webp
Extract XMP metadata:
webpmux -get xmp xmp_container.webp -o image_metadata.xmp
Strip XMP metadata:
webpmux -strip xmp xmp_container.webp -o without_xmp.webp
Add EXIF metadata:
webpmux -set exif image_metadata.exif in.webp -o exif_container.webp
Extract EXIF metadata:
webpmux -get exif exif_container.webp -o image_metadata.exif
Strip EXIF metadata:
webpmux -strip exif exif_container.webp -o without_exif.webp
Create an animated WebP file from 3 (non-animated) WebP images:
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
Get the 2nd frame from an animated WebP file:
webpmux -get frame 2 anim_container.webp -o frame_2.webp
Using -get/-set/-strip with input file name starting with '-':
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
Authors
webpmux
is part of libwebp
, and was written by the WebP team.
The latest source tree is available at
https://chromium.googlesource.com/webm/libwebp/
This manual page was written by Vikas Arora vikaas.arora@gmail.com, for the Debian project (and may be used by others).