简述
获取mp4视频的时长,没啥好说明的。
Maven依赖
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.mp4parser</groupId> <artifactId>isoparser</artifactId> <version>1.9.41</version> </dependency>
获取结果单位毫秒
上代码
import lombok.extern.slf4j.Slf4j; import org.mp4parser.IsoFile; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; /** @Author huyi @Date 2021/10/20 11:09 @Description: MP4工具类 */ @Slf4j public class Mp4Utils { public static long readDuration(Path mp4Path) { if (Files.notExists(mp4Path) || !Files.isReadable(mp4Path)) { log.warn("文件路径不存在或不可读 {}", mp4Path); return 0; } try { IsoFile isoFile = new IsoFile(mp4Path.toFile()); long duration = isoFile.getMovieBox().getMovieHeaderBox().getDuration(); // long timescale = isoFile.getMovieBox().getMovieHeaderBox().getTimescale(); return duration; } catch (IOException e) { log.error("读取MP4文件时长出错", e); return 0; } } public static void main(String[] args) { System.out.println(readDuration(Paths.get("C:\\Users\\huyi\\Desktop\\测试.mp4"))); } }
执行结果:
验证结果:
执行结果:
验证结果:
获取结果单位秒
上代码
import lombok.extern.slf4j.Slf4j; import org.mp4parser.IsoFile; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; /** @Author huyi @Date 2021/10/20 11:09 @Description: MP4工具类 */ @Slf4j public class Mp4Utils { public static long readDuration(Path mp4Path) { if (Files.notExists(mp4Path) || !Files.isReadable(mp4Path)) { log.warn("文件路径不存在或不可读 {}", 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) { log.error("读取MP4文件时长出错", e); return 0; } } public static void main(String[] args) { System.out.println(readDuration(Paths.get("C:\\Users\\huyi\\Desktop\\测试.mp4"))); } }
执行结果:
总结
没啥好总结的,今天南京好冷。
如果本文对你有帮助,请点个赞支持一下吧。