分页: 1 / 1

webpmux 批量合成、分解动图

发表于 : 2018年10月09日 08:47
paktc
参考:http://bbs.bathome.net/thread-50892-1-1.html

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

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

逐帧拆解示例(代码第二行,先把解压后的工具集目录添加到PATH环境变量,方便调用)

代码: 全选

@echo off &setlocal enabledelayedexpansion
set path=%path%;.\libwebp-1.0.0-windows-x86\bin

set file=cell_animation.webp
for /f "tokens=1 delims=:" %%a in ('webpmux -info cell_animation.webp ^|more +5') do (
    set /a num=%%a
    webpmux -get frame !num! %file% -o frame-!num!.webp
)
pause

或者

代码: 全选

@echo off
set path=%path%;.\libwebp-1.0.0-windows-x86\bin

set file=cell_animation.webp
for /f "tokens=2 delims=:" %%a in ('webpmux -info cell_animation.webp ^|find "frames:"') do set /a max=%%a
for /l %%n in (1,1,%max%) do webpmux -get frame %%n %file% -o frame-%%n.webp
pause
多张webp图片合并成一张webp动图

代码: 全选

@echo off &setlocal enabledelayedexpansion
set path=%path%;.\libwebp-1.0.0-windows-x86\bin

set /a max=29
REM create long long command
for /l %%a in (1,1,%max%) do set arg=!arg! -frame frame-%%a.webp +100
webpmux %arg% -o merge.webp
pause

或者也可以通过 image-magick 先合成 gif 再用 gif2webp 转换。(magick 可以处理单帧的webp图片,暂时不支持webp动图)

代码: 全选

magick convert *.webp test.gif
REM 注意,使用这种*.webp的形式合并,每一帧的编号必须是补0的形式,否则会乱序
gif2webp -lossy test.gif -o out.webp