视频文件是常见的一类数据,相关的任务包括视频物体检测、视频物体追踪、视频分类、视频检索和视频摘要抽取等。
视频数据与图像数据非常类似,都是由像素点组成的数据。在非音频部分可以视为多帧图像的拼接。
FFmpeg正是一套可以用来编码、解码、合成和转换音频和视频数据的开源软件,提供了非常全面的音视频处理功能。基本上所有的软件都会借助FFmpeg完成音视频的读取操作。
这篇博客主要介绍如何利用ffmpeg抽取视频关键帧(IPB帧)。
1.ffmpeg安装
在ffmpeg官网中点击Download。我使用的是windows电脑,选择Windows EXE Files下的windows builds from gyan.dev
接着选择合适的版本和源进行下载即可。
下载完成后解压到合适的路径下,并添加到环境变量中。可以在cmd中输入ffmpeg进行验证。
2.ffmpeg视频抽帧
要用到ffmpeg的抽帧命令
ffmpeg -ss 00:00:00 -t 00:01:00 -i v_dir -r 3 -q:v 2 -f image2 png_dir/%d.png
参数含义:
-ss 00:00:00 -t 00:01:00 指定对前1分钟进行操作
-i 表示将视频转码,v_dir是要操作的视频对象的存放地址
-r 表示设置帧频,3代表每秒钟抽取3帧
-q:v 指定转码后的图像存储质量,2表示高质量
-f指定保存图片用的格式,image2是一种图像解析模式
png_dir为截取出的图片存放的地址。
%d.png是命名格式
其中,-r 帧频可以设置成分数比如1/20表示每20s抽取一帧。这种情况会默认加上首位两帧。也可以将-r 1/20替换为-vf fps=1/20
以上就是使用ffmpeg进行视频抽帧的基本操作啦!
标签:视频,00,ffmpeg,抽帧,png,dir From: https://www.cnblogs.com/openwindow-cc/p/17064377.html