/** * 首先我们需要安装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<String> cutpic = new ArrayList<String>(); 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<String> 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; } /** * 此方法只是一个很简单实例,大家可以参考一下 需要视频转格式便可以使用其中的命令来进行转换 具体可转换的格式大家可以网上搜索一下_(:з」∠)_ * */