Windows环境
下载中间工具
访问:https://ffmpeg.zeranoe.com/builds/
java 代码
package com.utils.media;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
public class VideoCutImgUtil {
public static void main(String[] args) {
String inputPath = "D:/leo/测试vido视频截取缩略图.mp4";
String outputPath = "D:/leo/测试vido视频截取缩略图.png";
String ffmpegPath = "D:/leo/ffmpeg-20180804-1940c27-win64-static/bin/";
/*
* 这里只有视频截图的命令demo;
* 该软件可以做到将多张图片转为视频、为视频添加水印、添加背景音乐、转换视频格式很多种关于视频的操作
* 更多的cmd命令网上很多
*/
List<String> command = new ArrayList<String>();
command.add(ffmpegPath + "ffmpeg");
command.add("-i");
command.add(inputPath);
command.add("-ss");
command.add("00:05");
command.add("-t");
command.add("10");
command.add("-r");
command.add("1");
command.add("-f");
command.add("image2");
command.add("-vf");
command.add("fps=fps=1");
// 会分时段截取所有图片保存
// command.add(outputPath + "a_%02d.png");
// 仅截取第一张图片
command.add(outputPath);
try {
Process videoProcess = new ProcessBuilder(command).redirectErrorStream(true).start();
InputStream input = videoProcess.getInputStream();
int ch;
StringBuilder sb = new StringBuilder();
while ((ch = input.read()) != -1)
sb.append((char) ch);
System.out.println(sb.toString());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Linux环境(本人测试的是Ubuntu 16.04.3)
依次执行如下命令(将程序安装到/usr/bin目录下,相当于windows下的环境变量里;只知道是下载、更新、安装):
sudo add-apt-repository ppa:djcj/hybrid
sudo apt-get update
sudo apt-get install ffmpeg
查看软件版本:ffmpeg -version