# img2webp

## Name

`img2webp` -- Create animated WebP file from a sequence of input images.

## Synopsis

`img2webp [file_options] [[frame_options] frame_file]...`  

`img2webp argument_file_name`

## Description

`img2webp` compresses a sequence of images using the animated WebP format. Input
images can either be PNG, JPEG, TIFF or WebP. 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.

## File-level Options

The file-level options are applied at the beginning of the compression process,
before the input frames are read.

`-o string`
:   Specify the name of the output WebP file.

`-min_size`
:   Encode images to achieve smallest size. This disables key frame insertion
    and picks the parameters resulting in the smallest output for each frame. It
    uses lossless compression by default, but can be combined with `-q`, `-m`,
    `-lossy` or `-mixed` options.

`-kmin int`  
`-kmax int`
:   Specify the minimum and maximum distance between consecutive key frames
    (independently decodable frames) in the output animation. The tool will
    insert some key frames into the output animation as needed so that this
    criteria is satisfied.

`-mixed`
:   Mixed compression mode: optimize compression of the image by picking either
    lossy or lossless compression for each frame heuristically. This global
    option disables the local option `-lossy` and `-lossless`.

`-near_lossless int`
:   Specify the level of near-lossless image preprocessing. This option adjusts
    pixel values to help compressibility, but has minimal impact on the visual
    quality. It triggers lossless compression mode automatically. The range is 0
    (maximum preprocessing) to 100 (no preprocessing, the default). The typical
    value is around 60. Note that lossy with `-q 100` can at times yield better
    results.

`-sharp_yuv`
:   Use more accurate and sharper RGB-\>YUV conversion. Note that this process is
    slower than the default 'fast' RGB-\>YUV conversion.

`-loop int`
:   Specifies the number of times the animation should loop. Using `0` means
    'loop indefinitely'.

`-v`
:   Be more verbose.

`-h, -help`
:   A short usage summary.

`-version`
:   Print the version numbers of the relevant libraries used.

## Per-frame Options

The per-frame options are applied for the images following as arguments in the
command line. They can be modified any number of times preceding each particular
input image.

`-d int`
:   Specify the image duration in milliseconds.

`-lossless, -lossy`
:   Compress the next image(s) using lossless or lossy compression mode. The
    default mode is lossless.

`-q float`
:   Specify the compression factor between 0 and 100. The default is 75.

`-m int`
:   Specify the compression method to use. This parameter controls the trade off
    between encoding speed and the compressed file size and quality. Possible
    values range from 0 to 6. Default value is 4. When higher values are used,
    the encoder will spend more time inspecting additional encoding
    possibilities and decide on the quality gain. Lower value can result in
    faster processing time at the expense of larger file size and lower
    compression quality.

## Bugs

- Please report all bugs to the issue tracker: <https://issues.webmproject.org>

- Patches welcome! See this page to get started: <https://www.webmproject.org/code/contribute/submitting-patches/>

## Example

    img2webp -loop 2 in0.png -lossy in1.jpg -d 80 in2.tiff -o out.webp

## Authors

`img2webp` is a 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 Pascal Massimino [pascal.massimino@gmail.com](mailto:pascal.massimino@gmail.com)
for the Debian project (and may be used by others).