本文共 1882 字,大约阅读时间需要 6 分钟。
ffmpeg程序对视频进行的截图的命令如下语法如下:
ffmpeg.exe -ss 00:00:01 -i spring.mp4 -vframes 1 bb.jpg
代码如下:
** * 获取视频的信息 */public class FetchVideoCover { //视频路径 private String ffmpegEXE; public void getCover(String videoInputPath, String coverOutpuPath) throws IOException,InternalError{ //截取图片的命令 ffmpeg.exe -ss 00:00:01 -i spring.mp4 -vframes 1 bb.jpg Listcommand = new ArrayList<>(); command.add(ffmpegEXE); //指定截取第1秒 command.add("-ss"); command.add("00:00:01"); command.add("-y"); command.add("-i"); command.add(videoInputPath); command.add("-vframes"); command.add("1"); command.add(coverOutpuPath); ProcessBuilder builder = new ProcessBuilder(command); Process process = builder.start(); InputStream errorStream = process.getErrorStream(); InputStreamReader inputStreamReader = new InputStreamReader(errorStream); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String line = ""; while((line = bufferedReader.readLine()) != null) { } if(bufferedReader != null) { bufferedReader.close(); } if(inputStreamReader != null){ inputStreamReader.close(); } if(errorStream != null) { errorStream.close(); } } public String getFfmpegEXE() { return ffmpegEXE; } public void setFfmpegEXE(String ffmpegEXE) { this.ffmpegEXE = ffmpegEXE; } public FetchVideoCover() { super(); } public FetchVideoCover(String ffmpegEXE) { this.ffmpegEXE = ffmpegEXE; }}
对以上工具类的调用
//对视频进行截图 FetchVideoCover videoInfo = new FetchVideoCover(FFMPEG_EXE); videoInfo.getCover(finalVideoPath,FILE_SPACE + coverPathDB);
转载地址:http://ajfoi.baihongyu.com/