WebP - Mac上使用cwebp,dwebp,webpmux工具

安装webp


webp工具

cwebp - Webp encoder tool

  • 描述

    • 将一个图像文件压缩成一个webp文件,输入文件可以是PNG,JPEG,TIFF,WebP等等。
  • 语法

    • cwebp [options] input_file -o output_file.webp
  • 选项

    • -o string
      • 指定输出文件名
    • -- string
      • 显式地指定输入文件。如果输入文件以'-'开头,这个选项是有用的。这个选项必须最后显示。之后的其他选项将被忽略
    • -h,-help
      • 简单的使用说明
    • -H,-longhelp
      • 详细的使用说明
    • -version
      • 版本号
    • -lossless
      • 对图像进行无损编码
    • -q float
      • 指定压缩因素,范围是0-100,默认为75
    • -z int
      • 在0-9之间切换无损耗压缩模式,0级最快,9级最慢。快速模式产生的文件大小比较慢的文件要大。默认是6。如果-q或者-m之后被使用,-z将无效。
    • -alpha_q int
      • 在0-100之间指定alpha压缩系数,默认100
    • -preset string
      • 指定一组默认的参数
    • -m int
      • 在0-6之间指定压缩方法。默认值为4。
    • -resize width height
      • 指定宽高
    • -crop x_position y_position width height
      • 裁剪[x_position, y_position, width, height]区域的图像,裁剪的区域大小必须在源图像大小中
    • -mt
      • 如果可能的话,使用多线程编码
    • -low_memory
      • 减少对有损编码的内存使用
    • -size int
      • 指定目标大小(单位bytes),并不是实际结果的大小,实际结果会通过选择编码的方式,尽可能接近这一目标。如果同时指定了-size和-psnr,-psnr将无效。
    • -psnr float
      • 指定目标的PSNR(in dB),并不是实际结果的大小,实际结果会通过选择编码的方式,尽可能接近这一目标。如果同时指定了-size和-psnr,-psnr将无效。
    • -pass int
      • 设置最大传递次数,范围为1-10,默认是1。如果-size或-psnr被使用,而-pass没有被使用,则默认-pass为6。
    • -af
      • 自动过滤,该算法将花费额外的时间来优化过滤强度,以达到平衡的质量。
    • -jpeg_like
      • 更改内部参数映射,以更好地匹配JPEG压缩的预期大小。这个标记通常会生成一个与它的JPEG等价的输出文件(用于相同的-q设置),但是不会产生更少的视觉失真。
    • -f int
      • 指定过滤器的强度,范围在0(不过滤)-100(最大过滤),值越高图像就越平滑,典型的值通常在20-50之间。
    • -sharpness int
      • 指定过滤的锐度,范围在0(强)-7(弱)之间,默认为0。
    • -strong
      • 使用强过滤,默认使用。
    • -nostrong
      • 禁用强过滤。
    • -sharp_yuv
      • 如果需要的话,使用更精确和更清晰的RGB-YUV转换。注意,这个过程比默认的“快速”RGB-YUV转换要慢。
    • -sns int
      • 指定空间噪声形成的振幅,范围为0(弱)-100(强),默认为50。
    • -segments int
      • 在sns算法的分割过程中,改变分区的数量。范围在1到4之间。默认值是4。
    • -partition_limit int
      • 通过限制某些宏块使用的比特数来降低质量。范围是0(没有降级,默认值)到100(完全降级)。
    • -v
      • 打印额外的信息。
    • -print_psnr
      • 计算和报告平均PSNR(峰值信噪比)。
    • -print_ssim
      • 计算和报告平均SSIM。
    • -print_lsim
      • 计算和报告本地相似性度量。
    • -progress
      • 报告编码进展百分比。
    • -quiet
      • 不打印任何东西。
    • -short
      • 只打印简短的信息。
    • -map int
      • 输出额外的编码信息的ascii-映射。可能的映射值范围从1到6。这只是为了帮助调试。
    • -s width height
      • 指定输入文件实际上是由Y'CbCr实例组成,遵循ITU-R BT.601建议。
    • -pre int
      • 指定一些预处理步骤。
    • -alpha_filter string
      • 指定阿尔法平面的预测过滤方法。
    • -alpha_method int
      • 指定用于alpha压缩的算法:0或1。0表示没有压缩,1使用WebP无损格式压缩。缺省值是1。
    • -exact
      • 在透明区域保留RGB值。默认是关闭的,以帮助压缩。
    • -blend_alpha int
      • 该选项将alpha通道(如果存在)与源文件中指定的背景颜色混合为0xrrggbb。然后,alpha通道被重置为不透明值255。
    • -noalpha
      • 使用该选项将丢弃alpha通道。
    • -hint string
      • 指定输入图像类型的提示。可能的值是:照片、图片或图表。
    • -metadata string
      • 将输入文件的员输入复制到输出文件,有效值为all, none, exif, icc, xmp。默认为none。
    • -noasm
      • 禁用所有汇编优化。
  • 例子

    • 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

dwebp - Webp decoder tool

  • 描述
    • 将WebP文件解压成一个图像文件,类型可以是JPG,PNG,PAM,PPM,PGM等等。
  • 语法
    • dwebp [options] input_file.webp
  • 选项
    • -h
      • 打印用法总结。
    • -version
      • 打印版本号。
    • -o string
      • 指定输出文件名
    • -- string
      • 显式地指定输入文件。如果输入文件以'-'开头,这个选项是有用的。这个选项必须最后显示。之后的其他选项将被忽略。
    • -bmp
      • 将输出格式更改为未压缩的BMP。
    • -tiff
      • 将输出格式更改为未压缩的TIFF。
    • -pam
      • 将输出格式更改为PAM(保留alpha)。
    • -ppm
      • 将输出格式更改为PPM(丢弃alpha)。
    • -pgm
      • 将输出格式更改为PGM。
    • -yuv
      • 将输出格式更改为原始YUV。
    • -nofancy
      • 不适用fancy。
    • -nofilter
      • 即使是位流需要,也不要使用循环过滤过程。这可能会在不兼容的输出上产生可见的块,但是这会使解码速度更快。
    • -dither strength
      • 指定0到100之间的抖动强度。
    • -nodither
      • 禁用所有抖动(默认)。
    • -mt
      • 如果可能的话,使用多线程进行解码。
    • -crop x_position y_position width height
      • 裁剪[x_position, y_position, width, height]区域的图像,裁剪的区域大小必须在源图像大小中。
    • -flip
      • 垂直解码图像。
    • -scale width height
      • 将解码的图像压缩到指定宽高。
    • -v
      • 打印额外的信息(特别是解码时间)。
    • -noasm
      • 禁用所有汇编优化。
  • 例子
    • dwebp picture.webp -o output.png
    • dwebp picture.webp -ppm -o output.ppm
    • dwebp -o output.ppm -- ---picture.webp
    • cat picture.webp | dwebp -o - -- - > output.ppm

webpmux - Webp muxing tool

  • 描述
    • 从静态的webp images创建动态的webp,或者从动态的webp提取静态的webp images。以及管理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
  • 选项
    • -get 选项:GET_OPTIONS
      • icc : 获得 ICC profile
      • exif : 获得 EXIF metadata
      • xmp : 获得 XMP metadata
      • frame n : 从动态webp文件中获得第n帧(n=0代表最后一帧率)
    • -set 选项:SET_OPTIONS
      • icc file.icc : 设置 ICC profile
      • exif file.exif : 设置 EXIF metadata
      • xmp file.xmp : 设置 XMP metadata
    • -strip 选项:STRIP_OPTIONS
      • icc : Strip ICC profile
      • exif : Strip EXIF metadata
      • xmp : Strip XMP metadata
    • -duration 选项:DURATION_OPTIONS
      • 修改帧的特定间隔的持续时间。这个选项只对动画WebP有效,对单帧文件没有影响。从第一帧开始,0代表最后一帧。
      • duration[,start[,end]]
        • -duration d : 设置整个动画的持续时间
        • -duration d, f : 设置f帧到d帧的持续时间
        • -duration d, start, end : 设置开始帧到结束帧的持续时间
    • -frame 选项:FRAME_OPTIONS
      • 从静态的webp images创建一个动态的webp文件
      • file_i +di[+xi+yi[+mi[bi]]]
        • file_i : 第i张webp文件
        • xi,yi : 该帧图像的偏移量
        • di : 到下一帧开始的暂停时间
        • mi : 该帧图像的处理方式,0没有背景,1有背景
        • bi : 该帧图像的混合方式,+b有混合,-b没有混合
      • -loop n
        • 循环次数,0代表无限循环,有效范围是0-65535,默认为0
      • -bgcolor A,R,G,B
        • 画布的背景颜色
  • INPUT
    • webp格式的文件
  • OUTPUT (-o)
    • webp格式的文件
  • 例子
    • 添加ICC profile
      • webpmux -set icc image_profile.icc in.webp -o icc_container.webp
    • 获得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
    • 添加XMP metadata
      • webpmux -set xmp image_metadata.xmp in.webp -o xmp_container.webp
    • 获得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
    • 添加EXIF metadata
    • webpmux -set exif image_metadata.exif in.webp -o exif_container.webp
    • 获得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
    • 从三张静态的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文件中获取第二帧
      • webpmux -get frame 2 anim_container.webp -o frame_2.webp
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容