java如何获取视频的长宽和大小

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

版权声明:本文为Alone_bill原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。