java 实现视频转换通用工具类:视频截图-Ffmpeg(四)
来源:互联网 发布:学唱歌入门教程软件 编辑:程序博客网 时间:2024/05/18 18:20
java 实现视频转换通用工具类:获取视频元数据信息(一)
java 实现视频转换通用工具类:视频相互转换-总方法及Mencoder(二)
java 实现视频转换通用工具类:视频相互转换-Ffmpeg(三)
1.ffmpeg 截图,自定义命令行
/** * ffmpeg 截图,自定义命令行 * @param srcVideoPath 源文件 * @param shellLine 自定义shell命令行 * @param tarImagePath 目标文件 * @return */ public static boolean processFfmpegImage(String srcVideoPath,String shellLine,String tarImagePath) { if (!checkfile(srcVideoPath)) { logger.error("【" + srcVideoPath + "】 不存在 !"); return false; } List<String> commend = new java.util.ArrayList<String>(); commend.add(ffmpegPath); commend.add("-i"); commend.add(srcVideoPath); commend.add(shellLine); commend.add(tarImagePath); try { ProcessBuilder builder = new ProcessBuilder(); builder.command(commend); Process process = builder.start(); InputStream is = process.getErrorStream(); InputStreamReader inputStreamReader = new InputStreamReader(is); BufferedReader inputBufferedReader = new BufferedReader( inputStreamReader); String line = null; StringBuilder stringBuilder = new StringBuilder(); while ((line = inputBufferedReader.readLine()) != null) { stringBuilder.append(line); } inputBufferedReader.close(); inputBufferedReader = null; inputStreamReader.close(); inputStreamReader = null; is.close(); is = null; if (!checkfile(tarImagePath)) { logger.info(tarImagePath + " is not exit! processFfmpegImage 转换不成功 !"); return false; } return true; } catch (Exception e) { logger.error("【" + srcVideoPath + "】 processFfmpegImage 转换不成功 !"); return false; } }
2.ffmpeg 截图,并指定图片的大小
/** * ffmpeg 截图,并指定图片的大小 * @param srcVideoPath * @param tarImagePath 截取后图片路径 * @param width 截图的宽 * @param hight 截图的高 * @param offsetValue 表示相对于文件开始处的时间偏移值 可以是分秒 * @param vframes 表示截图的桢数 * * @return */ public static boolean processFfmpegImage(String srcVideoPath,String tarImagePath,int width,int hight,float offsetValue,float vframes) { if (!checkfile(srcVideoPath)) { logger.error("【" + srcVideoPath + "】 不存在 !"); return false; } List<String> commend = new java.util.ArrayList<String>(); commend.add(ffmpegPath); commend.add("-i"); commend.add(srcVideoPath); commend.add("-y"); commend.add("-f"); commend.add("image2"); commend.add("-ss"); commend.add(offsetValue+""); //在视频的某个插入时间截图,例子为5秒后 commend.add("-vframes"); commend.add(vframes + ""); //截图的桢数 commend.add("-s"); commend.add(width + "x" +hight); //截图的的大小 commend.add(tarImagePath); try { ProcessBuilder builder = new ProcessBuilder(); builder.command(commend); Process process = builder.start(); doWaitFor(process); process.destroy(); if (!checkfile(tarImagePath)) { logger.info(tarImagePath + " is not exit! processFfmpegImage 转换不成功 !"); return false; } return true; } catch (Exception e) { logger.error("【" + srcVideoPath + "】 processFfmpegImage 转换不成功 !"); return false; } }
- java 实现视频转换通用工具类:视频截图-Ffmpeg(四)
- java 实现视频转换通用工具类:视频相互转换-Ffmpeg(三)
- java 实现视频转换通用工具类:视频加水印-Ffmpeg(五-1)
- java 实现视频转换通用工具类:视频相互转换-总方法及Mencoder(二)
- java 实现视频转换通用工具类:获取视频元数据信息(一)
- java 实现视频转换通用工具类:视频加水印-通过Avs文件添加视频水印(五-2)
- java 实现视频转换通用工具类:视频相互转换-总方法及Mencoder
- ffmpeg截图转换视频(笔记)
- Java ffmpeg实现视频转换
- ffmpeg视频转换及截图
- ffmpeg进行视频截图以及视频转换
- Java中调用ffmpeg转换视频截图和音频转换
- JSP ffmpeg实现视频截图
- java调用视频转换工具ffmpeg
- java 调用 ffmpeg 进行视频转换以及截图
- java 调用 ffmpeg 进行视频转换以及截图
- java 调用 ffmpeg 进行视频转换以及截图
- java 调用 ffmpeg 进行视频转换以及截图
- spring security 自定义验证
- java中的比较器
- Win32中新增的GDI对象——路径
- 读取配置文件随记
- Java垃圾回收机制
- java 实现视频转换通用工具类:视频截图-Ffmpeg(四)
- Gp Linux--常用命令备忘
- 计算机基础知识资源列表
- Linux下使用putty进行UART串口调试
- 2013年9月12去哪网面试 被鄙视
- 经济与市场
- 【android】Socket简单用法
- C++临时对象
- 为什么编程语言以及数据库要从1970年1月1日开始计算时