java如何获取视频的长宽和大小
一,预备阶段
1、直接下载jar包,然后导入到项目里,下载路径: http://www.sauronsoftware.it/projects/jave/download.php
如果是maven项目需要将jave包打到maven仓库中(网上maven库中没有这个jar包,直接依赖会报错)
我的maven库是放在本地D盘中,maven配置了环境变量,所以直接使用cmd命令把jar包导入本地maven仓库:
-Dfile=D:\jave-1.0.2\jave-1.0.2.jar(是指你放jave的jar包位置,我放在D盘)
具体命令如下:
mvn install:install-file -Dfile=D:\jave-1.0.2\jave-1.0.2.jar -DgroupId=it.sauronsoftware -DartifactId=jave -Dversion=1.0.2 -Dpackaging=jar
maven项目依赖:
<dependency>
<groupId>it.sauronsoftware</groupId>
<artifactId>jave</artifactId>
<version>1.0.2</version>
</dependency>
import it.sauronsoftware.jave.Encoder;
import it.sauronsoftware.jave.MultimediaInfo;
2、测试代码 :
public static void main(String[] args) {
File source = new File("C:\\Users\\belive\\Desktop\\740fcb5eef9635f55184149f29275739.mp4");
Encoder encoder = new Encoder();
String length = "";
try {
MultimediaInfo m = encoder.getInfo(source);
int height = m.getVideo().getSize().getHeight();
int width = m.getVideo().getSize().getWidth();
System.out.println("width:"+width);
System.out.println("height:" + height);
FileInputStream fis = new FileInputStream(source);
FileChannel fc = fis.getChannel();
BigDecimal fileSize = new BigDecimal(fc.size());
String size = fileSize.divide(new BigDecimal(1048576), 2, RoundingMode.HALF_UP) + "MB";
System.out.println("size:" + size);
long duration = m.getDuration()/1000;
System.out.println("duration:" + duration + "s");
} catch (Exception e) {
e.printStackTrace();
}
}
3、运行结果
width:544
height:960
size:2.98MB
duration:22s