一、windows环境
1. 下载ffmpeg相关可执行文件并保存至本地电脑盘符
2. 编写相关代码片段
String exePath="C:/ffmpeg/ffmpeg.exe";
// 视频文件存放位置
String videoLocation="C:/test/demo.mp4";
// 要保存的某帧率图的位置及名字(目标图全路径)
String imageLocation="C:/test1/demo1.jpg";
// 低精度
List commend=new ArrayList();
commend.add(exePath);// 视频提取工具的位置
commend.add("-i");
commend.add(videoLocation);
commend.add("-y");
commend.add("-f");
commend.add("image2");
commend.add("-ss");
commend.add("0.300");// 截取0.3s处的图片
commend.add("-t");
commend.add("0.001");
commend.add("-s");
commend.add("1920x1090");// 图片像素大小
commend.add(imageLocation);
try{
ProcessBuilder builder=new ProcessBuilder();
builder.command(commend);
builder.start();
builder.directory();
}catch(Exception e){
e.printStackTrace();
}
附:
根据视频来设置要截取的图片像素大小,相关代码如下:
String videoLocation="C:/test/demo.mp4";
MultimediaInfo mi=new Encoder().getInfo(new File(videoLocation));
VideoSize size=mi.getVideo().getSize();
int h=size.getHeight();
int w=size.getWidth();
注意:MultimediaInfo类,需要引入一个jar。"jave-1.0.2.jar",可以在网上自行搜索下载。
二、linux环境
1. 安装 yasm
cd /usr/local
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar -zxvf yasm-1.3.0.tar.gz
cd /usr/local/yasm-1.3.0
./configure
make && make install
2. 下载解压ffmpeg
cd /usr/local
wget http://www.ffmpeg.org/releases/ffmpeg-3.1.tar.gz
tar -zxvf ffmpeg-3.1.tar.gz
3. 安装
cd /usr/local/ffmpeg-3.1
./configure --prefix=/usr/local/ffmpeg
make && make install
4. 配置环境变量
vi /etc/profile
添加环境变量:
export PATH=$PATH:/usr/local/ffmpeg/bin
设置生效
source /etc/profile
查看ffmpeg版本
ffmpeg -version
5. 编写相关代码片段
String[]cmd=new String[]{"sh","-c"," /usr/local/ffmpeg/bin/ffmpeg -i "+videoLocation+" -y -f image2 -ss 0.300 -t 0.001 -s "+w+"x"+h+" "+imageLocation};
try{
Process process=Runtime.getRuntime().exec(cmd);// 执行自动备份任务
process.waitFor();
process.destroy();
}catch(Exception e){
e.printStackTrace();
}
变量videoLocation、w、h、imageLocation在上面已经有讲述。