一段会动的WEBP转成JPG,打开后只有静止的第一帧,后面几十帧全没了。这不是转换失败,是JPG里没有存放多帧的位置:一个JPG文件对应一张画面,装不下第二张。

动图WEBP内部是多个画面加一张时间表,每帧停多久、循环几次都写在这张表里。转成JPG时,编码器只能写一张位图,它按惯例取第一帧。
时间表没有对应的位置可以写,于是连播放速度一起丢掉。整个过程不报错,因为对它来说任务已经完成:输出了一张合法的JPG。
动图的体积跟帧数直接相关,三十帧的动图,字节数差不多是单帧的十几倍到几十倍。转成JPG后只剩一帧,文件自然小一大截。
这个变小是假象。有人看到体积从2MB掉到80KB,以为找到了压缩动图的捷径,其实是把内容删掉了,跟压缩不是一回事。
顺带丢掉的还有循环次数。原本设为无限循环的动图,转完之后就不存在循环这个概念了,播放器只当它是一张普通静图。
第一步,看文件后缀。webp既可能是静图也可能是动图,光看后缀分不出来。
第二步,把文件拖进浏览器打开。会动就是动图,不动就是静图,这一步比看属性可靠。
第三步,会动的话,先想清楚要的是静态封面还是完整动画。只要封面,转JPG没问题。
第四步,要保留动画,打开图片转格式时把目标格式换成gif,或者干脆留在原格式重新导出。

第五步,转完在浏览器里再打开一次,确认它还在动,别只看缩略图。
要静态封面:转JPG最省事,体积小、兼容性最广,需要更小还可以用JPG图片压缩再压一档。注意选一帧画面完整的,不要选开头那张半透明的过渡帧。
要保留动画:GIF兼容性最广但只有256色,渐变和肤色容易出麻点,帧数一多体积也压不住;WEBP动画体积更小、颜色更全,但部分老软件不认,发给别人之前先问一句对方用什么打开。
两边都要:先转JPG做封面,原动图另存一份,别指望一个文件同时满足。
转成JPG后还能把动画找回来吗?
不能。JPG里从来没有存过其余帧,任何工具都无法还原。
为什么有的WEBP转JPG后体积反而变大?
静图WEBP的压缩效率比JPG高,一张已经压得很紧的WEBP转成JPG,要达到相近画质需要更多字节。
GIF转JPG也会只剩一帧吗?
会,原因相同。GIF同样是多帧容器,JPG只能装一张。
判断一个格式能不能装动画,看它有没有帧和时间这两个字段,比看后缀可靠。