cwebp 命令大全

本文由月小升博客https://java-er.com翻译自google官方文档https://developers.google.com/speed/webp/docs/cwebp

翻译的感觉
1. 我背了3年的单词,有点用
2. 翻译让我静下心来仔细的阅读官方文档,对webp了解更深入一层了
2020.02.29

例子

cwebp -q 50 -lossless picture.png -o picture_lossless.webp
cwebp -q 70 picture_with_alpha.png -o picture_with_alpha.webp
cwebp -sns 70 -f 50 -size 60000 picture.png -o picture.webp
cwebp -o picture.webp -- ---picture.png

cwebp

名字
cwebp — 压缩一张图片文件为webp文件

摘要命令行

cwebp [options] input_file -o output_file.webp

描述
cwebp压缩一张图片为WebP格式。输入的数据可以是PNG, JPEG, TIFF, WebP 或者 raw Y’CbCr samples (备注,月小升没看懂)

参数

基本参数:

-o string

制定输出文件名称。如果省略,cwebp将进行压缩,输出静态报告,使用 “-” 作为一个输出名称,将直接输入到文件

-- string

明确制定输入文件。这个选项以 – 开头。这个选项必须出现在最后,任何其他在他后面的选项都会被忽略

-h, -help

帮助手册简单版

-H, -longhelp

帮助手册详情版

-version

打印版本

-lossless

编码图片,不需要进行任何损失。整个图片,包含透明区域,看不见的像素值(R/G/B or Y/U/V)都会被保存。

-near_lossless int

指定无损压缩级别对图片处理预处理。这个参数用来调整像素帮助图片的可压缩性,但是尽可能减少图片可见区域质量。 这个参数会自动触发无损压缩模式。参数范围0-100,典型的数值为60. 记住:有损压缩-q 100 可以达到更好的结果。

-q float

为RGB通道指定压缩参数0-100, 默认值75

如果是在有损压缩中(默认为有损压缩)参数越小,图片质量越低,文件越小。最好的质量参数是100

如是是在无损压缩中(特别是指定了 -lossless 参数),小的参数会获得快的压缩速度,但是生产出较大的文件。最大的压缩值为100.

-z int

切换无损压缩模式级别从0-9,0最快,9最慢。速度越快文件越大。比较好的默认值是6. 这个参数是一个预定义压缩质量快捷阐述。如果参数 -q 或者 -m 被随后用到,这个-z 就无效了。

-alpha_q int

为alpha压缩指定一个0-100的数值。alpha无损压缩用100,小于100将产生有损压缩。默认值100.

-preset string

指定一组预定义的值用来区分不同的文件材料。可能的值有default, photo, picture, drawing, icon, text.

由于 -preset 覆盖其他参数的值(除了-q),这个值最好出现在所有参数最前面。

-m int

制定压缩模式。这个参数控制了编码的速度,压缩文件大小,质量。值范围为0-6. 默认4. 值越大,花费时间越大用来检查额外的编码能力和质量。小的值会产生快的压缩速度,大的文件和低的压缩质量。

-resize width height

调整源文件的宽高。如果任意一个宽或者高的参数为0,那么将按比例计算。

-crop x_position y_position width height

从左边顶部的点开始(x_position, y_position)计算来裁切图片。裁切区域必须在原文件图片区域内。

-mt

如果支持,采用多线程编码

-low_memory

通过节省四倍于压缩大小(通常)来减少有损编码的内存使用。 这将使编码变慢,并且输出的大小和失真会稍有不同。 该标志仅对方法3及更高版本有效,在默认情况下处于禁用状态。 请注意,禁用此标志会对比特流产生一些副作用:它将强制执行某些比特流功能,例如分区数(强制为1)。 请注意,使用此选项时,cwebp将打印更详细的比特流大小报告。

有损压缩选项


这些选项仅仅对有损压缩有效(默认情况下,带或者不带alpha)

-size int

为输出文件指定一个目标大小(单位bytes),压缩器将多次压缩以接近这个目标。如果-size 和 -psnr 同时使用, 那么-size 优先

-psnr float

指定目标PSNR(以dB为单位)以尝试达到压缩输出。 压缩程序将通过几次部分编码,以便尽可能接近此目标。 如果同时使用-size和-psnr,则以-size值为准。

-pass int

设置选项-size或-psnr程序执行期间要使用的最大通过次数。 最大值为10,默认值为1。如果使用选项-size或-psnr,但未指定-pass,则将使用默认值“6”。

-af

打开自动过滤器。 该算法将花费额外的时间来优化过滤强度以达到均衡的质量。

-jpeg_like

更改内部参数映射以更好地匹配JPEG压缩的预期大小。 通常,此标志将产生与JPEG等效的大小相似的输出文件(对于相同的-q设置),但视觉失真较小。

高级选项:

-f int

指定解过滤器的强度,介于0(不过滤)和100(最大过滤)之间。 值为0将关闭任何过滤。 较高的值将增加在解码图片后应用的滤波过程的强度。 值越高,图片将显得越平滑。 典型值通常在20到50的范围内。

-sharpness int

指定过滤的清晰度(如果使用)。 范围是0(最清晰)至7(最不清晰)。 默认值为0。

-strong

使用强过滤(如果通过-f选项使用了过滤)。 默认情况下,强过滤处于启用状态。

-nostrong

禁用强过滤(如果通过-f选项使用了过滤),而改用简单过滤。

-sharp_yuv

如果需要,请使用更准确,更清晰的RGB-> YUV转换。 请注意,此过程比默认的“快速” RGB-> YUV转换要慢。

-sns int

指定空间噪声整形的幅度。 空间噪声整形(或简称为sns)是指用于确定图片的哪个区域应使用相对较少的位以及在何处更好地传输这些位的内置算法的常规集合。 可能的范围是从0(关闭算法)到100(最大效果)。 默认值为50。

-segments int

更改在sns算法分段期间要使用的分区数。 段的范围应为1到4。默认值为4。除非使用-low_memory,否则此选项对方法3及更高版本无效。

-partition_limit int

通过限制某些宏块使用的位数来降低质量。范围是0(无降级,默认)到100(完全降级)。对于中等大小的图像,有用的值通常在30-70左右。在VP8格式中,所谓的控制分区限制为512k,用于存储以下信息:宏块是否被跳过,宏块属于哪个段,是否被编码为4×4帧内或16×16帧内模式;以及最后,将预测模式用于每个子块。对于非常大的图像,每个16×16宏块只有512k的空间。每个宏块的绝对最小值为4位。跳过,分段和模式信息几乎会用完所有这4位(尽管情况不太可能),这对于非常大的图像来说是个问题。 partition_limit因子控制将使用最昂贵的模式(4×4内)的频率。如果达到512k限制并显示以下消息,这将很有用:错误代码:6(PARTITION0_OVERFLOW:分区#0太大,无法容纳512k)。如果使用-partition_limit不足以满足512k约束,则应使用较少的段,以便为每个宏块节省更多的报头位。请参阅-segments选项。

日志选项:

这些选项控制日志打印级别

-v

打印更多信息(特别是编码时间)。

-print_psnr

计算并报告平均PSNR(峰值信噪比)。

-print_ssim

计算并报告平均SSIM(结构相似性指标,请参见http://en.wikipedia.org/wiki/SSIM了解更多详细信息)。

-print_lsim

计算并报告局部相似性度量(像素邻居中的最低误差之和)。

-progress

报告编码进度(百分比)。

-quiet

啥也别打印

-short

仅出于测试目的打印简要信息(输出文件大小和PSNR)。

-map int

输出额外的ASCII映射编码信息。 可能的映射值范围是1到6。这仅是为了帮助调试。

高级选项

-s width height

Specify that the input file actually consists of raw Y’CbCr samples following the ITU-R BT.601 recommendation, in 4:2:0 linear format. The luma plane has size width x height.

指定输入文件实际上是按照ITU-R BT.601建议以4:2:0线性格式包含的原始Y’CbCr样本。 亮度平面的大小为宽度x高度。

-pre int

Specify some pre-processing steps. Using a value of 2 will trigger quality-dependent pseudo-random dithering during RGBA->YUVA conversion (lossy compression only).
指定一些预处理步骤。 使用2值将在RGBA-> YUVA转换(仅有损压缩)期间触发与质量有关的伪随机抖动。

-alpha_filter string

Specify the predictive filtering method for the alpha plane. One of none, fast or best, in increasing complexity and slowness order. Default is fast. Internally, alpha filtering is performed using four possible predictions (none, horizontal, vertical, gradient). The best mode will try each mode in turn and pick the one which gives the smaller size. The fast mode will just try to form an a priori guess without testing all modes.

指定Alpha平面的预测过滤方法。 快速或最佳之一,复杂度和慢度递增。 默认为快速。 在内部,使用四个可能的预测(无,水平,垂直,渐变)执行alpha过滤。 最佳模式将依次尝试每种模式,然后选择尺寸较小的模式。 快速模式将仅尝试形成先验猜测,而无需测试所有模式。

-alpha_method int

指定用于alpha压缩的算法:0或1。算法0表示无压缩,1使用WebP无损格式进行压缩。 预设值为1。

-exact

将RGB值保留在透明区域中。 默认为关闭,以帮助压缩。

-blend_alpha int

This option blends the alpha channel (if present) with the source using the background color specified in hexadecimal as 0xrrggbb. The alpha channel is afterward reset to the opaque value 255.
此选项使用十六进制指定为0xrrggbb的背景色将alpha通道(如果存在)与源混合。 之后将Alpha通道重置为不透明值255。

-noalpha

使用此选项将丢弃Alpha通道。

-hint string

指定有关输入图像类型的提示。 可能的值为:photo, picture or graph。

-metadata string

逗号分隔的元数据列表,如果存在,则从输入复制到输出。 有效值:all,none,exif,icc,xmp。 默认为none。

请注意,每种输入格式可能不支持所有组合。

-noasm

禁用所有装配优化。


This entry was posted in Linux, WEB前端 and tagged . Bookmark the permalink.
月小升QQ 2651044202, 技术交流QQ群 178491360
首发地址:月小升博客https://java-er.com/blog/cwebp-useage/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
您的评论是我写作的动力.
2020.03.24 评论已经全局关闭,有事加QQ聊天