ffmpeg 图片转WebP速查表

输出统一为 WebP;‑q 80 画质,‑compression_level 6 编码平衡。 注意:HEIC 需要 ffmpeg 带 libheif 解码库,普通 Windows release 版本不支持读取HEIC。

ffmpeg -i 123.png -c:v libwebp -lossless 1 -compression_level 6 123.webp

源文件类型 用途 ffmpeg命令 备注
JPG(照片) 有损WebP,网页照片 ffmpeg -i input.jpg -c:v libwebp -q 80 -compression_level 6 output.webp 无透明,最常用
PNG(图标/透明素材) 无损WebP,保留Alpha透明 ffmpeg -i input.png -c:v libwebp -lossless 1 -compression_level 6 output.webp 用于logo、UI图标,不做照片
PNG(带半透明的照片/贴纸) 有损WebP,保留Alpha透明 ffmpeg -i input.png -c:v libwebp -q 80 -compression_level 6 output.webp 不用‑lossless,兼顾体积与半透明
HEIC(iPhone照片) 有损WebP,网页照片 ffmpeg -i input.heic -c:v libwebp -q 80 -compression_level 6 output.webp HEIC无透明;ffmpeg缺少libheif会报错

Windows批处理(.bat)全套

1. JPG批量转WebP

@echo off
for %%i in (*.jpg *.jpeg) do ffmpeg -i "%%i" -c:v libwebp -q 80 -compression_level 6 "%%~ni.webp"

2. PNG批量转无损WebP(图标透明)

@echo off
for %%i in (*.png) do ffmpeg -i "%%i" -c:v libwebp -lossless 1 -compression_level 6 "%%~ni.webp"

3. HEIC批量转WebP

@echo off
for %%i in (*.heic *.HEIC) do ffmpeg -i "%%i" -c:v libwebp -q 80 -compression_level 6 "%%~ni.webp"

参数说明

参数 含义 推荐值
‑q 0‑100 有损WebP画质;数字越大画质越高 照片:75‑85
‑lossless 1 开启无损模式,仅PNG图标用,照片不要开 仅图标使用
‑compression_level 0‑9 编码速度/压缩比;越大越慢,体积越小 6(网页平衡)

常见故障提示

  1. HEIC报错:heif not found → 当前ffmpeg版本缺少libheif解码库,换full编译版本。
  2. JPG不要加‑lossless 1,会文件暴涨。
  3. 网页HTML用 <picture> 标签做降级兜底,兼容老旧浏览器。