经过查询资料,发现可以通过JAVE实现:The JAVE (Java Audio Video Encoder) library is Java wrapper on the ffmpeg project。

Solution:

以单个目录下的视频为例,通过JAVE实现,并采用不同的日期时间处理方式转换为时-分-秒格式,顺便熟悉了一下Java 中的日期处理。

  • Note:当然,需要导入下载的JAVE的jar文件。。

eg:

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
import it.sauronsoftware.jave.Encoder;
import it.sauronsoftware.jave.EncoderException;
import it.sauronsoftware.jave.MultimediaInfo;
public class VideoDuration {
public void getVideoDuration(String path) {
// get all files in specified “path”
File[] files = new File(path).listFiles();
Encoder encoder = new Encoder();
MultimediaInfo multimediaInfo;
long totalTime = 0L;
long duration = 0L;
for (int i = 0; i < files.length; i++) {
// here, the format of video can be changed, JAVE upports dozens of formats
if (!files[i].isDirectory() && files[i].toString().endsWith(“.avi”)) {
try {
multimediaInfo = encoder.getInfo(files[i]);
duration = multimediaInfo.getDuration();
totalTime += duration;
} catch (EncoderException e) {
e.printStackTrace();
}