Java获取视频文件的视频时长
1、导入maven依赖
org.mp4parserisoparser1.9.41
2、代码案例
import com.alibaba.fastjson2.JSON; import org.mp4parser.IsoFile; import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.text.ParseException; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.temporal.ChronoUnit; import java.time.temporal.TemporalAdjusters; import java.util.*; public class Test { public static void main(String[] args) throws ParseException { long spsj = readDuration(Paths.get("C:\Users\Administrator\Desktop\ceshi.mp4")); System.out.println(spsj); } public static long readDuration(Path mp4Path) { if (Files.notExists(mp4Path) || !Files.isReadable(mp4Path)) { System.out.println("文件路径不存在或不可读 " + mp4Path); return 0; } try { IsoFile isoFile = new IsoFile(mp4Path.toFile()); long duration = isoFile.getMovieBox().getMovieHeaderBox().getDuration(); long timescale = isoFile.getMovieBox().getMovieHeaderBox().getTimescale(); return duration / timescale; } catch (IOException e) { e.printStackTrace(); return 0; } } }
3、SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”
如果在运行过程中报错:
SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”.
问题分析:
org.slf4j.impl.StaticLoggerBinder
通常存在于slf4j-nop.jar和slf4j-simple.jar
中,虽然项目maven中已引入了simple包,但依然存在报错。
说明simple包未真正被加载。
为了让包更好的加载,在依赖中添加type为jar后,问题得到解决。
1.7.30org.slf4jslf4j-api${slf4j.version}org.slf4jslf4j-simple${slf4j.version}jar
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持IT俱乐部。