Java视频截取封面图

/**
 * 视频截取封面图类
 * 
 * @author hg
 *
 */
public class VideosScreenshot {

    // 用来产生随机验证码的
    private static Random rand = new Random();

    private static String[] str = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" };

    /**
     * 
     * @param videourl 视频截图
     * @param picurl 图片截图
     * @return
     */
    public String vidpicirl(String videourl) {

        System.err.println(videourl);

        // 存放产生的随机数
        StringBuffer sms;
        // 生成三位数的随机数
        StringBuffer buf = new StringBuffer();
        for (int i = 0; i < 3; i++) {
            buf.append(str[rand.nextInt(10)]);
        }
        sms = buf;
        // 获取当前时间
        Date now = new Date();
        // 格式化字符
        SimpleDateFormat date = new SimpleDateFormat("yyyy MM dd hh mm ss");
        String datestring = date.format(now);
        // 去除时间里的空格
        String nokongge = datestring.replaceAll(" ", "");
        String longid = nokongge + sms;
        long randomid = new Long(Long.parseLong(longid));

        String picurl = "E:\\Program Files\\Apache Software Foundation\\Tomcat 8.0\\webapps\\gatesskills\\updvids\\"
                + randomid + ".jpg";//截图存放路径

        //String picurl = "E:\\"+randomid+".jpg";
        List<String> commend = new java.util.ArrayList<String>();
        commend.add("E:\\ffmpeg.exe");//插件存放路径
        commend.add("-i");
        commend.add(videourl);
        commend.add("-y");
        commend.add("-f");
        commend.add("image2");
        commend.add("-ss");
        commend.add("1");
        commend.add("-t");
        commend.add("0.001");
        commend.add("-s");
        commend.add("350*240");
        commend.add(picurl);
        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.err.println("视频截图完成...");
            System.err.println("视频截图url:"+picurl);
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("视频截图失败!");
        }
        return picurl;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值