博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【java小程序】利用ffmpeg对视频进行截图操作
阅读量:4184 次
发布时间:2019-05-26

本文共 1882 字,大约阅读时间需要 6 分钟。

ffmpeg程序对视频进行的截图的命令如下语法如下:

ffmpeg.exe -ss 00:00:01 -i spring.mp4 -vframes 1 bb.jpg
  1. 00:00:01 截取视频图片的时间。
  2. spring.map4 需要截取的视频名称。
  3. 1 当前时间内的第几帧,1表示第一帧。
  4. bb.jpg 表示生成的图片名称。

代码如下:

** *  获取视频的信息 */public class FetchVideoCover {      //视频路径    private String ffmpegEXE;    public void getCover(String videoInputPath, String coverOutpuPath) throws IOException,InternalError{        //截取图片的命令   ffmpeg.exe -ss 00:00:01 -i spring.mp4 -vframes 1 bb.jpg        List
command = new ArrayList<>(); command.add(ffmpegEXE); //指定截取第1秒 command.add("-ss"); command.add("00:00:01"); command.add("-y"); command.add("-i"); command.add(videoInputPath); command.add("-vframes"); command.add("1"); command.add(coverOutpuPath); ProcessBuilder builder = new ProcessBuilder(command); Process process = builder.start(); InputStream errorStream = process.getErrorStream(); InputStreamReader inputStreamReader = new InputStreamReader(errorStream); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String line = ""; while((line = bufferedReader.readLine()) != null) { } if(bufferedReader != null) { bufferedReader.close(); } if(inputStreamReader != null){ inputStreamReader.close(); } if(errorStream != null) { errorStream.close(); } } public String getFfmpegEXE() { return ffmpegEXE; } public void setFfmpegEXE(String ffmpegEXE) { this.ffmpegEXE = ffmpegEXE; } public FetchVideoCover() { super(); } public FetchVideoCover(String ffmpegEXE) { this.ffmpegEXE = ffmpegEXE; }}

对以上工具类的调用

//对视频进行截图          FetchVideoCover videoInfo = new FetchVideoCover(FFMPEG_EXE);        videoInfo.getCover(finalVideoPath,FILE_SPACE + coverPathDB);

转载地址:http://ajfoi.baihongyu.com/

你可能感兴趣的文章
tower.im、Worktile、钉钉有什么不同
查看>>
OLAP、OLTP的介绍和比较
查看>>
Hadoop ,storm,spark 的特点
查看>>
MapReduce Tez Storm Spark四个框架的异同
查看>>
kudu存储引擎
查看>>
PHP语法1
查看>>
Linux如何查看端口状态
查看>>
Guava cache 缓存
查看>>
UUID.randomUUID()是什么
查看>>
TimeUnit是什么
查看>>
2017年大数据的变化趋势
查看>>
作业、任务、进程、线程的区别
查看>>
laypage分页
查看>>
ojdbc14.jar 与ojdbc6.jar的区别
查看>>
如何区分Oracle的数据库,实例,服务名,SID
查看>>
怎样使用sqlplus连接oracle11g数据库
查看>>
JDBC连接数据库
查看>>
java日志组件介绍(common-logging,log4j,slf4j,logback )
查看>>
java运行jar命令提示没有主清单属性
查看>>
使用Maven为一个项目生成多个Jar包,将一个目录打成jar包
查看>>