前人留下的巨大的坑,填了两天,过程真的头都大了,百度,找帖子。。。。
new IsoFile()直接传入url路径会报地址错误,所有的斜线全部变成反斜线了,他能不错么,最后在new ISOfile前面加了两行 瞬间解决,直接源码
因为是从url中获取,从网上找的方法要不就是本地的,要不就是将视频写到本地再去查看,但是上了服务器那得多慢
这其实也是这回事 只不过是个临时文件
/** * 获取视频文件的播放长度(mp4、mov格式) * * @param videoPath * @return 单位为毫秒 */ public static long getMp4Duration(String videoPath) { try { File file = File.createTempFile("temp", ".mp4");//创建临时文件 Image2Binary.toBDFile(videoPath, file.getCanonicalPath()); IsoFile isoFile = new IsoFile(file.getPath()); long lengthInSeconds = isoFile.getMovieBox().getMovieHeaderBox().getDuration() / isoFile.getMovieBox().getMovieHeaderBox().getTimescale(); file.deleteOnExit();//删除临时文件 return lengthInSeconds; } catch (Exception e) { log.error("error video", e); return 0L; } }
Image2Binary工具类的源码javautil 网络文件下载,网络文件转换输入流_shaobo7705601的博客-CSDN博客
整个videoUtil工具类 有需要的网上很多 一搜都有 或者可以私