java处理视频文件,读取视频的时长

时间:2022-12-15 19:45:40
最近需要用java处理视频文件,读取视频的时长,在网上查,没找到合适的方法,用JMF吧,支持的格式太少,用JNI去读取其他语言写的API,但比较麻烦。无意中找到了jave这个开源的项目,看了看介绍,是用java来处理多种视频格式之间的转换的,下载了下来,看了看,还真找到了获取视频时长的方法。记录下来,给需要朋友做个参考。
下载jave的网址http://www.sauronsoftware.it/projects/jave/index.php
总共只有一个jar包,API也非常简单,不说了,贴代码:
package com.jave;

import it.sauronsoftware.jave.Encoder;
import it.sauronsoftware.jave.MultimediaInfo;

import java.io.File;

public class ReadVideo {

     publicstatic void main(String[] args){
       File source= new File("E:\\测试视频\\R41.avi");
       Encoderencoder = new Encoder();
       try {
          MultimediaInfo m = encoder.getInfo(source);
          long ls = m.getDuration();
          System.out.println("此视频时长为:"+ls/60000+"分"+(ls`000)/1000+"秒!");
       } catch(Exception e) {
         e.printStackTrace();
       }
    }
}
jave支持的格式很多,有几十种,有兴趣的朋友可以试试。