java自己写的视频截图工具

/**
 * 首先我们需要安装ffmpeg插件 具体安装可以查看此网址
 * https://blog.csdn.net/xiaoxueyaoxuexi/article/details/110451006?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163030796716780265495145%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=163030796716780265495145&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-110451006.first_rank_v2_pc_rank_v29&utm_term=ffmpeg%E5%AE%89%E8%A3%85&spm=1018.2226.3001.4187
 * 设置好环境变量就可以使用了
 */


/**
 * 视频截取  PNG图片生成
 */                                //需要截图的视频              截图后所存放的地址
public boolean imagePNGGeneration(String videoSourceFile, String ImageGenerationPath) {
    // 创建一个List集合来保存从视频中截取图片的命令
    List cutpic = new ArrayList();
    cutpic.add("F:\\ffmpeg-4.4-essentials_build\\bin\\ffmpeg.exe");//插件在本地所存放的地址
    cutpic.add("-i");
    cutpic.add(videoSourceFile); // 要截图的视频源文件
    cutpic.add("-y");
    cutpic.add("-f");
    cutpic.add("image2");
    cutpic.add("-ss"); // 添加参数"-ss",该参数指定截取的起始时间
    cutpic.add("8"); // 添加起始时间为第17秒
    cutpic.add("-t"); // 添加参数"-t",该参数指定持续时间
    cutpic.add("0.001"); // 添加持续时间为1毫秒
    cutpic.add("-s"); // 添加参数"-s",该参数指定截取的图片大小
    cutpic.add(352 + "*" + 288); // 添加截取的图片大小为350*240
    cutpic.add("-pix_fmt");
    cutpic.add("pal8");
    cutpic.add(ImageGenerationPath); // 添加截取的图片的保存路径
    ProcessBuilder builder = new ProcessBuilder();//通过cmd命令进行生成
    return getImage(builder, cutpic, ImageGenerationPath);
}

private static boolean getImage(ProcessBuilder builder, List cutpic, String imageGenerationPath) {
    try {
        builder.command(cutpic);
        builder.redirectErrorStream(true);
        builder.start();
        System.out.println("图片生成完成,位置为:" + imageGenerationPath);
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }
    return true;
}
/**
 * 此方法只是一个很简单实例,大家可以参考一下 需要视频转格式便可以使用其中的命令来进行转换 具体可转换的格式大家可以网上搜索一下_(:з」∠)_
 * */

你可能感兴趣的:(java,ffmpeg)