You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用FFmpeg批量将GIF转APNG且不增大文件体积?

批量将数字命名GIF转换为APNG(控制体积)

使用ffmpeg工具可以实现批量转换,同时通过编码参数严格控制输出体积,避免第三方在线工具的体积膨胀问题。先确保你已安装ffmpeg(可通过系统包管理器或官方渠道下载)。

Windows CMD 命令

for /L %i in (1,1,100) do ffmpeg -i "%i.gif" -c:v apng -f apng -compression_level 9 -filter:v "split[s0][s1];[s0]palettegen=stats_mode=single[p];[s1][p]paletteuse=dither=bayer:bayer_scale=3" "%i.apng"
  • 调整(1,1,100)中的数字范围,匹配你的文件编号区间(比如从1到50就改成(1,1,50))
  • -compression_level 9:启用最高PNG压缩级别,最大化体积缩减
  • 调色板滤镜组合:生成单帧调色板+拜耳抖动,在保留画质的前提下避免体积暴涨

Linux/macOS Bash 命令

for i in {1..100}; do ffmpeg -i "$i.gif" -c:v apng -f apng -compression_level 9 -filter:v "split[s0][s1];[s0]palettegen=stats_mode=single[p];[s1][p]paletteuse=dither=bayer:bayer_scale=3" "$i.apng"; done
  • 调整{1..100}的数字范围适配你的文件编号
  • 参数逻辑与Windows版本一致

额外优化建议

  • 若需进一步压缩体积,可将bayer_scale=3改为bayer_scale=2(弱化抖动),或直接替换为dither=none(关闭抖动,可能出现轻微色块)
  • 先测试单个文件验证体积和画质:ffmpeg -i 1.gif -c:v apng -f apng -compression_level 9 -filter:v "split[s0][s1];[s0]palettegen=stats_mode=single[p];[s1][p]paletteuse=dither=bayer:bayer_scale=3" 1.apng

内容的提问来源于stack exchange,提问作者Sensei

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 19:35:21