本工具简单介绍
-
先强调下,本工具可以直接上手使用。
-
本来ffmpeg就可以支持很多功能,比如视频截图,比如可以执行每隔多少秒截取一帧图片,但是本人没找到按时长平均分割截取固定数量的图片的功能,而且一次只能截取一个视频,不能截取指定的整个目录的所有视频,不够自动化,所以就有了这个工具。
-
而本工具可以根据视频的长度来平均截取固定数量的图片,支持传递“源视频文件目录路径”、“输出目录路径”、“共截取图片个数”、“分割方式”等参数,后面有详细说明
-
声明一下,本工具目前只在windows下可用,需要用在其他平台的童鞋可以自行改造。
使用方式
-
首先需要先安装jdk1.8或以上版本,以及ffmpeg这个玩意,不会安装的自行百度哈,官网地址如下:
-
要使用本工具,安装好后需要添加环境变量 FFMPEG_HOME,就是ffmpeg的bin目录的绝对路径,目录带不带\都可以,并重启电脑(不重启电脑需要带一个“ffmpeg.exe所在目录”的参数)。
-
将本文最后的源码保存为Vedios2Images.java文件,然后在cmd命令中执行以下命令,将其编译成Vedios2Images.class
javac -encoding UTF-8 Vedios2Images.java
-
然后就可以使用Vedios2Images.class对多个视频进行截图了
-
命令参数含义
命令格式 java VedioToImages [源视频文件路径] [目标目录路径] [截取图片个数] [ffmpeg.exe所在目录] [是否分目录存放截图]
以下参数中,参数1和参数2是必填参数。
参数1:源视频文件目录路径,此目录带不带\都可以,须填绝对路径。必传参数。
参数2:输出目录路径,此目录带不带\都可以,须填绝对路径。必传参数。
参数3:共截取图片个数。 可不传,不传默认为6。
参数4:ffmpeg.exe所在目录。可不传,不填自动从环境变量 FFMPEG_HOME 获取。
注意:刚配置不重启电脑时java中获取不到,所以不想重启可暂时传入,此目录带不带\都可以,须填绝对路径。
若不想重启又不想传此参数,可以将其安装(重命名后解压)到D:\tools_install\ffmpeg\bin 目录
下(ffmpeg.exe在这个目录就行)。
参数5:表示是否将每个视频的截图分割为目录,不填不分割。值为s则将每个视频切分到以视频名命
名的目录中,否则直接放在输出目录中。始终为最后一个参数。
如 :
java Vedios2Images D:\tmp\test D:\jietu 20 D:\tools_install\ffmpeg\bin s
表示将D:\tmp\test目录下的所有视频截图,输出到D:\jietu目录下,每个视频的输出个数为20个,
D:\tools_install\ffmpeg\bin 显式的指定了ffmpeg.exe所在目录,最后的s代表将每个视频的多个
截图存放在以视频名命名的目录中。
下面的命令也是正确的:
java Vedios2Images D:\tmp\test D:\jietu
java Vedios2Images D:\tmp\test D:\jietu 10
java Vedios2Images D:\tmp\test D:\jietu s
java Vedios2Images D:\tmp\test D:\jietu 10 s
效果展示
-
命令指定out为输出目录,source为源目录

-
source中有两个视频

本工具利用Java和FFmpeg实现对多个视频文件的批量截图功能,可根据视频时长平均分割,截取固定数量的图片,支持指定目录下所有视频的自动化处理。

6194

被折叠的 条评论
为什么被折叠?



