V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
beyoung
V2EX  ›  问与答

有批量将图片转换为 webP 格式的应用么 Win/Mac

  •  
  •   beyoung · 2017-03-31 11:28:41 +08:00 · 2024 次点击
    这是一个创建于 2608 天前的主题,其中的信息可能已经有所发展或是发生改变。

    图片较多 想转为 webp 来减少文件体积

    有可以批量处理的应用么

    8 条回复    2017-04-01 03:19:34 +08:00
    beyoung
        1
    beyoung  
    OP
       2017-03-31 11:29:54 +08:00
    原图为 jpg 格式
    coderluan
        2
    coderluan  
       2017-03-31 13:38:35 +08:00
    有是有,问题是 jpg 转 webp 会变大的, webp 是优化的 png , jpg 应该用 jpg2000 之类的
    coderluan
        3
    coderluan  
       2017-03-31 13:42:55 +08:00
    PS :如果图片相关性很大,比如糟糕黄油游戏提取出来的 cg ,可以用 hevc 子类视频压缩算法,效果很好。
    herozhang
        4
    herozhang  
       2017-03-31 14:03:09 +08:00 via iPhone
    imagemagick
    Love4Taylor
        5
    Love4Taylor  
       2017-03-31 14:38:01 +08:00 via Android
    jevonszmx
        6
    jevonszmx  
       2017-03-31 23:26:43 +08:00
    mac 下安装官方 webp 工具就好了,自己写 shell 批量处理一下即可。

    我把我的给你参考一下。

    直接终端在图片目录执行即可,或者改成 ls /xxx/images :

    ```shell

    ls|while read line ; do a=$(echo "$line"|grep ".webp"|wc -l) ; [ $a -eq 1 ] && continue ; case "`file "$line" 2>/dev/null | sed -ne 's|^.*:[\t ][\t ]*||p'`" in PNG*|JPG*|JPEG*) ; /usr/local/bin/cwebp -q 80 $line -o $line.webp 2>/dev/null ;esac ; done

    ```

    转换规则是:

    列出当前目录的非 webp (粗暴地检测了文件名),如果文件存在并且文件属性是 png/jpg/jpeg ,则转换,后缀规则是直接文件名后面加.webp ( xxx.jpg => xxx.jpg.webp ),质量是 80%。

    原图压缩比在 60%以下的 jpg 有可能会变大,可能的话,安装一个 imagick ,用如下命令检测原图压缩比:

    ```

    identify -format "%Q" xxx.jpg

    ```
    jevonszmx
        7
    jevonszmx  
       2017-03-31 23:27:08 +08:00
    @Love4Taylor guetzli 压缩还行,就是太慢太卡。。。
    Love4Taylor
        8
    Love4Taylor  
       2017-04-01 03:19:34 +08:00
    @jevonszmx #7 确实...但是效果贼好啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1154 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:00 · PVG 07:00 · LAX 16:00 · JFK 19:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.