视频截取某帧率的图

15 篇文章 1 订阅
10 篇文章 0 订阅

一、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在上面已经有讲述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值