ffmpeg隔几秒取一帧

《简记FFmpeg取帧的用法》

  作为简单的视频流截图的工具,FFmpeg再合适不过了,当然它的功能是很强大的,也可以截取音频,视频格式转换等等,这里只记录一下使用ffmpeg命令从视频中取帧的常用参数,以及一个用python调用命令行截取视频的小脚本,我想隔几秒取一帧图像,搜索发现网上给出的答案都比较复杂,所以这里给出一个简单有效的参数设置方案。

Key Words:视频取帧、FFmpeg


Beijing, 2020

作者:RaySue

Code:

Agile Pioneer  

文章目录

      • 前言
      • 视频取帧
        • 参数介绍
        • 示例代码
      • 剪视频
        • 参数介绍
        • 实例代码

前言

  在一些视频任务中,比如追踪,或行为识别等,往往需要从视频中提取指定帧,然后进行处理增强和训练。提取帧的方法有很多,不过在一些对时间限制比较大的场合,为了提高速度,会采用ffmpeg。

视频取帧

参数介绍

  • -f 类型 image2 表示图片
  • -r 一秒截取多少张 (如果这里指定了 -r 那么后面 -vf 指定隔几秒取帧就无效了)
  • -q:v2 表示截图画面的质量
  • -vf fps=1/20 每隔20秒截取一张

示例代码

示例程序隔十秒取一帧

import os

def grab_images_from_video(video_path="", save_dir=""):
    os.system('ffmpeg -i ' + video_path + ' -f image2  -q:v 2 -vf fps=fps=1/10 ' + save_dir + '/image-%3d.jpg')

剪视频

参数介绍

  • i :指定输入视频的路径
  • ss 时间:从哪个时间点开始
  • to 时间:从哪个时间点结束
  • c:是视音频的格式
  • copy:是指输出视频直接copy输入视频
  • cut.mp4:指输出视频的地址,例如:C:\cut.mp4

实例代码

ffmpeg -i video.mp4 -ss 00:03:00  -to 00:02:00 -c copy cut.mp4

你可能感兴趣的:(OpenCV,音视频)