用 ffmpeg 把视频转成 GIF 动图

降低帧率和分辨率,把视频片段转成体积可控的循环 GIF。

Linux视频FFmpegGIF低风险
执行 ffmpeg -i input.mp4 -vf "fps=12,scale=480:-1" output.gif,即可生成 12 帧、宽 480px 的自动循环 GIF。

01命令

命令
$ ffmpeg -i input.mp4 -vf "fps=12,scale=480:-1" output.gif

02作用说明

GIF 体积膨胀很快,关键在滤镜链:fps=12 降低帧率,scale=480:-1 缩放到 480px 宽并保持宽高比,ffmpeg 直接编码输出动图。-vf 里的顺序很重要——先 fps 再 scale,可以跳过无效帧的解码。在 -i 前加 -ss 和 -to 还能先把源视频截到需要的片段。

03风险

风险低风险
使用条件ffmpeg package; available on all distros.
!注意: GIF 每帧只有 256 色,渐变和照片会出现色带——追求画质请改用 MP4/WebM 嵌入视频。12 帧 480px 的 10 秒 GIF 仍可能有几十 MB,嫌大先缩小分辨率。

04撤销

✓无需撤销——该命令不会改变持久状态。

05来源

  • ffmpeg(1) — Arch Manual Pages
    Arch Linux · community · 2026-09-17
    依据: Same -vf/--filter option documented for video filtering, including fps and scale filters.
  • ffmpeg(1) — Debian bookworm
    Debian Manpages · community · 2026-09-17
    依据: Documents the -vf option for applying a filtergraph such as fps and scale filters to the output stream.

最后验证: 2026-09-19 · 分类: 媒体