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) {
                }
            }
        }
    }
相关推荐
byte轻骑兵6 分钟前
【AVRCP】规范精讲[10]:链路管理器LM互操作规则与场景落地
人工智能·音视频·蓝牙·avrcp·音视频控制
薪火铺子8 分钟前
SpringMVC请求处理流程源码解析(第1篇):请求入口与处理器映射
java·后端·spring
ch.ju8 分钟前
Java程序设计(第3版)第二章——参数(实参 形参)
java
椰猫子9 分钟前
SpringMVC(SpringMVC简介、请求与响应(请求映射路径、请求参数、日期类型参数传递、响应json数据))
java·前端·数据库
海兰12 分钟前
【开篇】Spring AI、OpenClaw 和Hermes
java·人工智能·spring·spring ai
bzmK1DTbd19 分钟前
微服务架构设计:Spring Cloud Gateway与Nacos集成
java·spring·微服务
上弦月-编程21 分钟前
指针编程:高效内存管理核心
java·数据结构·算法
罗超驿21 分钟前
双指针算法经典案例:LeetCode 283. 移动零(Java详解)
java·算法·leetcode
xieliyu.22 分钟前
Java手搓数据结构:栈与队列模拟实现
java·数据结构·学习
清水白石00823 分钟前
深入 Python 循环引用与垃圾回收:如何应对内存管理的挑战
java·jvm·python