SuperAPI AI 工具集

ffmpeg-keyframe-extraction

通用与其它

查看项目

更新于 10-15 20:06

技能介绍

用途:通过 FFmpeg CLI 从 MP4、MKV、AVI、MOV 等视频文件中提取关键帧(I 帧),可用于生成缩略图或首帧图。前置条件:已安装 FFmpeg 并在 PATH 中可用,且提供输入视频文件。主要方法:方法一使用 -vf "select='eq(pict_type,I)'" 选择滤镜,控制更灵活,可与其他滤镜组合;方法二使用 -skip_frame nokey 跳过非关键帧解码,速度更快。常用参数:-i 指定输入;-vf "select='eq(pict_type,I)'" 只选 I 帧;-skip_frame nokey 跳过非关键帧;-vsync vfr 使用可变帧率避免输出重复帧;-q:v 控制质量(1-31,数值越小越好,适用于 JPEG);-frame_pts 1 使用显示时间戳命名文件。输出模式:frame_%03d.png(PNG 序列)、frame_%03d.jpg(JPEG 序列)、frame_%d.bmp(BMP 序列)。示例:基本 PNG 提取 ffmpeg -i video.mp4 -vf "select='eq(pict_type,I)'" -vsync vfr keyframe_%03d.png;高质量 JPEG ffmpeg -i video.mp4 -skip_frame nokey -vsync vfr -q:v 2 keyframe_%03d.jpg;带时间戳 ffmpeg -i video.mp4 -vf "select='eq(pict_type,I)'" -vsync vfr -frame_pts 1 keyframe_%d.png;输出到指定目录 ffmpeg -i video.mp4 -vf "select='eq(pict_type,I)'" -vsync vfr ./output/keyframe_%03d.png。限制:关键帧频率取决于视频编码设置;方法二不提供滤镜灵活性;须使用 -vsync vfr 避免重复帧。