用 FFmpeg 把视频抽帧为图片序列

按指定频率把视频画面导出为编号的 PNG 图片——每秒一张、每帧一张或任意间隔。

Linux视频帧图片FFmpeg低风险
执行 ffmpeg -i input.mp4 -vf fps=1 frame_%04d.png 即可每秒保存一帧,生成 frame_0001.png、frame_0002.png 等文件。

01命令

命令
$ ffmpeg -i input.mp4 -vf fps=1 frame_%04d.png

02作用说明

fps 滤镜控制抽帧频率:fps=1 表示每秒一张,fps=1/60 表示每分钟一张,不加该滤镜则逐帧全部导出。输出文件名中的 %04d 是 printf 风格的模式,会按顺序生成带零填充的编号文件。需要无损静帧时用 .png,若不在乎精确像素则用 .jpg 可大幅减小体积。

03风险

风险低风险
使用条件ffmpeg
!注意: 对长视频逐帧导出会生成数千个文件、数 GB 的 PNG;除非确实需要全部帧,请先用 fps 滤镜限定频率。

04撤销

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

05来源

  • FFmpeg Wiki: Images to/from Video
    FFmpeg · community · 2026-09-17
    依据: Documents image sequence patterns like frame_%04d.png and the fps filter for controlling extraction rate.
  • FFmpeg Documentation
    FFmpeg · vendor-doc · 2026-09-17
    依据: Official docs for the fps video filter and image sequence output naming.

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