使用ffmpeg命令实现视频文件间隔提取帧图片

将视频按每隔五秒从视频中提取一张图片

使用 ffmpeg 工具,通过设置 -vf(视频过滤器)和 -vsync 选项

命令格式

复制代码
ffmpeg -i input_video.mp4 -vf "fps=1/5" output_%03d.png

解释:

  • -i input_video.mp4:指定输入的视频文件。
  • -vf "fps=1/5":这个视频过滤器设置每 5 秒提取一帧。fps=1/5 表示每隔 5 秒抽取一帧图像。
  • output_%03d.png:输出文件名的格式,%03d 是一个占位符,它会将数字格式化为三位数字(例如 output_001.png, output_002.png),根据需要修改输出格式。

其他常见选项:

  • 输出图片的格式 :你可以修改输出格式为 .jpg、.png 或其他图像格式,例如:output_%03d.jpg。
  • 图片质量 :对于JPEG格式的图片,可以使用 -q:v 参数来设置图片质量,例如:-q:v 2(质量从 1 到 31,1 为最好质量)。

完整命令示例(输出JPEG格式图像):

复制代码
ffmpeg -i video.mp4 -vf "fps=1/5" -q:v 2 output_%03d.jpg

注意:

  • 如果视频非常长,使用此命令可能会生成大量图片文件
  • fps=1/5 也可以替换成 -vf "select='not(mod(n\,150))'",其中 150 代表每隔 150 帧(即大约每 5 秒)提取一帧。这种方法比较灵活,可以控制帧的间隔。
相关推荐
小豆庄1 小时前
监控视频脱敏的追踪漂移与ID撞号陷阱
目标跟踪·ffmpeg·音视频·视频·敏捷流程
Android系统攻城狮13 小时前
Linux FFmpeg深度解析之avcodec_parameters_copy调用流程与实战(二十五)
linux·运维·服务器·ffmpeg·音视频·车载音频
FlightYe1 天前
视界原理之3D视频(四):裸眼、眼镜和头显
android·linux·c++·3d·ffmpeg·音视频
Android系统攻城狮2 天前
Linux FFmpeg深度解析之avcodec_default_get_buffer2调用流程与实战(二十)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
Android系统攻城狮2 天前
Linux FFmpeg深度解析之av_parser_init调用流程与实战(二十一)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
Android系统攻城狮2 天前
Linux FFmpeg深度解析之avcodec_flush_buffers调用流程与实战(十九)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频进阶
重生之我是萧炎3 天前
ffmpeg官方下载安装教程(提供安装包)
ffmpeg
zslefour3 天前
使用ffmpeg遍历获取音频文件相关信息
ffmpeg
Android系统攻城狮3 天前
Linux FFmpeg深度解析之avcodec_parameters_from_context调用流程与实战(十六)
linux·运维·ffmpeg·音视频进阶·ffmpeg音视频·车载音视频进阶
Android系统攻城狮3 天前
Linux FFmpeg深度解析之avcodec_alloc_context3调用流程与实战(十四)
linux·运维·ffmpeg·车载音视频·音视频进阶·ffmpeg音视频进阶