Java调用命令截取图片

工具在资源中。

package com.g.utils;

import java.io.InputStream;
import java.util.List;

/**
 * Created by roztop1 on 2017/4/14.
 */
public class CutOutImgUtils {
    public static void cutImg(String inputVideoPath, String outImagePath, String cmd) {

        //方法一:调用批处理程序,调用批处理文件ffmpeg.bat转换视频格式
//          try {
//              //调用批处理文件
//              Runtime.getRuntime().exec("cmd /c start C:\\Users\\Administrator\\Desktop\\test\\ffmpeg.bat " + videoRealPath + " " + imageRealPath);
//          } catch (IOException e) {
//              // TODO Auto-generated catch block
//              e.printStackTrace();
//          }


        //方法二:通过命令提示符来调用需要添加系统路径(Path),调用menconder转换视频各种
//              commendF
//          .add("cmd.exe /c mencoder E:\\Eclipse2\\test.flv -o e:\\Eclipse2\\test.avi
//          -oac mp3lame -lameopts cbr:br=32
//          -ovc x264 -x264encopts bitrate=440 -vf scale=448:-3");

        //方法三:调用系统中的可执行程序调用ffmpeg 提取视屏缩略图
        List<String> commend = new java.util.ArrayList<String>();
        // 命令地址 "D:\\Program Files (x86)\\ffmpeg\\bin\\ffmpeg.exe"
        commend.add(cmd);
        commend.add("-i");
        commend.add(inputVideoPath);
        commend.add("-y");
        commend.add("-f");
        commend.add("image2");
        commend.add("-ss");
        commend.add("8");
        commend.add("-t");
        commend.add("0.001");
        commend.add("-s");
        commend.add("600*440");
        commend.add(outImagePath);
        try {

            ProcessBuilder builder = new ProcessBuilder();

            builder.command(commend);

            builder.redirectErrorStream(true);

            System.out.println("视频截图开始...");

            // builder.start();

            Process process = builder.start();

            InputStream in = process.getInputStream();

            byte[] re = new byte[1024];

            System.out.print("正在进行截图,请稍候");

            while (in.read(re) != -1) {

                System.out.print(".");

            }

            System.out.println("");

            in.close();

            System.out.println("视频截图完成...");

        } catch (Exception e) {

            e.printStackTrace();

            System.out.println("视频截图失败!");

        }
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值