Java 获取 视频 时长

复制代码
<dependency>
    <groupId>org.bytedeco</groupId>
    <artifactId>javacv-platform</artifactId>
    <version>1.5.7</version> 
</dependency>

首先在 pom 中引入包

根据以下工具类,直接调用传入文件路径即可

public static Integer getMp4Seconds(String filePaths){
        String filePath = filePaths; // 替换为你的MP4文件路径
        int seconds = 0;
        FFmpegFrameGrabber grabber = null;
        try {
            grabber = new FFmpegFrameGrabber(filePath);
            grabber.start();
            //这一步获取的是微妙,除以 1000000 获取保留整数部位的秒
            seconds = Math.toIntExact(grabber.getLengthInTime())/1000000;
            System.out.println("Duration of the MP4 file: " + seconds + " s");
            return seconds; // 返回秒
        } catch (Exception e) {
            e.printStackTrace();
            return -1;
        } finally {
            if (grabber != null) {
                try {
                    grabber.stop();
                } catch (Exception ignored) {
                }
            }
        }
    }
相关推荐
zfoo-framework7 分钟前
【jenkins插件】
java
风_流沙12 分钟前
java 对ElasticSearch数据库操作封装工具类(对你是否适用嘞)
java·数据库·elasticsearch
ProtonBase41 分钟前
如何从 0 到 1 ,打造全新一代分布式数据架构
java·网络·数据库·数据仓库·分布式·云原生·架构
乐之者v1 小时前
leetCode43.字符串相乘
java·数据结构·算法
suweijie7684 小时前
SpringCloudAlibaba | Sentinel从基础到进阶
java·大数据·sentinel
公贵买其鹿5 小时前
List深拷贝后,数据还是被串改
java
xlsw_8 小时前
java全栈day20--Web后端实战(Mybatis基础2)
java·开发语言·mybatis
神仙别闹9 小时前
基于java的改良版超级玛丽小游戏
java
黄油饼卷咖喱鸡就味增汤拌孜然羊肉炒饭9 小时前
SpringBoot如何实现缓存预热?
java·spring boot·spring·缓存·程序员