找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25448|回复: 9

[文件操作] 求高手帮忙看下webp命令怎么做批处理,非常谢谢

[复制链接]
发表于 2018-10-8 16:44:32 | 显示全部楼层 |阅读模式
本帖最后由 linming6860 于 2018-10-8 17:47 编辑

从多张静态的webp图片创建一张动态的webp动画
webpmux -frame 1.webp +100 -frame 2.webp +100 -frame 3.webp +100 ........ -loop 0  -o mux.webp
(这个图片一般都几十张或者一百多,真的没法手动输入),固定格式是 -frame 1.webp +100,+100是时间可以自己修改

从动态的webp文件中获取第y帧
webpmux -get frame y  mux.webp -o frame_y.webp
(想把每帧都提取出来,比如查询出来有n张)

一次只能转换一个文件,所以想弄个bat,感激不尽

跟这个类似http://www.bathome.net/thread-14569-1-1.html
发表于 2018-10-8 17:40:13 | 显示全部楼层
Photoshop CS 里有动作功能,创建一个动作就可以批量制作了,还可以暂停修改。不过CS里的动画有没有动作功能就不知道了。
发表于 2018-10-8 17:43:05 | 显示全部楼层
看了下,PHOTOSHOP 里有个自动图像合并功能,可加入多种特效,帧频等。因该能满足。
发表于 2018-10-8 20:14:21 | 显示全部楼层
回复 5# linming6860


    PHOTOSHOP 也可以批处理,它本来就有自动化批功能,不过偶一直没用过。
发表于 2018-10-8 21:50:41 | 显示全部楼层
本帖最后由 523066680 于 2018-10-8 22:18 编辑

webpmux 的google资源被墙了,但是可以通过 百度快照间接获得
百度快照-developers.google.com/speed/webp

具体的,工具集的下载链接请点击 Download for Windows

逐帧拆解示例(代码第二行,先把解压后的工具集目录添加到PATH环境变量,方便调用)
  1. @echo off &setlocal enabledelayedexpansion
  2. set path=%path%;.\libwebp-1.0.0-windows-x86\bin

  3. set file=cell_animation.webp
  4. for /f "tokens=1 delims=:" %%a in ('webpmux -info cell_animation.webp ^|more +5') do (
  5.     set /a num=%%a
  6.     webpmux -get frame !num! %file% -o frame-!num!.webp
  7. )
  8. pause
复制代码
或者
  1. @echo off
  2. set path=%path%;.\libwebp-1.0.0-windows-x86\bin

  3. set file=cell_animation.webp
  4. for /f "tokens=2 delims=:" %%a in ('webpmux -info cell_animation.webp ^|find "frames:"') do set /a max=%%a
  5. for /l %%n in (1,1,%max%) do webpmux -get frame %%n %file% -o frame-%%n.webp
  6. pause
复制代码
多张webp图片合并成一张webp动图
  1. @echo off &setlocal enabledelayedexpansion
  2. set path=%path%;.\libwebp-1.0.0-windows-x86\bin

  3. set /a max=29
  4. REM create long long command
  5. for /l %%a in (1,1,%max%) do set arg=!arg! -frame frame-%%a.webp +100
  6. webpmux %arg% -o merge.webp
  7. pause
复制代码
或者也可以通过 image-magick 先合成 gif 再用 gif2webp 转换。(magick 可以处理单帧的webp图片,暂时不支持webp动图)
  1. magick convert *.webp test.gif
  2. REM 注意,使用这种*.webp的形式合并,每一帧的编号必须是补0的形式,否则会乱序
  3. gif2webp -lossy test.gif -o out.webp
复制代码
发表于 2018-10-8 22:21:09 | 显示全部楼层
补充,多张合并的部分,批处理字符串存储容量有限,做了个测试
  1. set /a max=500
  2. for /l %%a in (1,1,%max%) do set arg=!arg! -frame frame-%%a.webp +100
  3. echo %arg%
复制代码
显示最多可以存储到第 307 帧,之后的被丢弃
所以一两百帧没问题的
 楼主| 发表于 2018-10-9 09:05:18 | 显示全部楼层
回复 7# 523066680


    非常谢谢版主,辛苦啦!
 楼主| 发表于 2018-10-9 10:53:58 | 显示全部楼层
本帖最后由 linming6860 于 2018-10-9 11:00 编辑

回复 7# 523066680


版主,合并多张的,webpmux 代码不行 ,提示 Action must be specified before other arguments

image-magick 先合成 gif 不支持alpha ,再辛苦你有空的时候看看哪里不对  这个 webpmux 帮助里的格式是  webpmux -frame FRAME_OPTIONS [-farme ...][-loop LOOP_COUNT] -o OUTPUT
发表于 2018-10-9 11:52:36 | 显示全部楼层
本帖最后由 523066680 于 2018-10-9 12:07 编辑

回复 10# linming6860

    我这里测试过了有效果才发的代码。
以及刚才拷贝了论坛那段到本地再试一次,无误。
你下载我发的工具集链接试试?
 楼主| 发表于 2018-10-9 13:37:59 | 显示全部楼层
回复 11# 523066680


    可以了真神奇 谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 22:26 , Processed in 0.020724 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表