java可以获取视频的时长吗_java获取视频时长、大小

项目中有这样一个需求,网页上上传了一个视频,需要获取此视频的时长、大小,把这两个数据返回给前台在页面显示。后台使用的是springboot框架,项目部署在linux上面。

pom文件中需要导入的jar包依赖:

(分为两部分:核心包、ffmpeg包两部分,ffmpeg包又分为Windows环境以及Linux环境,同时又区分32位系统以及64位系统。针对于不同的运行环境要导入不同的包,这一点对于开发、测试环境为Window而生产环境为Linux的情况,尤其要注意需要导入所有的包,使其在两种环境下都能够使用)

jar包

ws.schildjave-all-deps2.6.0ws.schildjave-core2.4.5

ws.schildjave-native-win322.4.5

ws.schildjave-native-win642.4.5

ws.schildjave-native-linux322.4.6

ws.schildjave-native-linux642.4.6

代码

/***视频时长**@paramFileUrl*@return*/public staticString readVideoTime(String FileUrl) {File source =newFile(FileUrl);String length ="";try{MultimediaObject instance =newMultimediaObject(source);MultimediaInfo result = instance.getInfo();longls = result.getDuration() /1000;Integer hour = (int) (ls /3600);Integer minute = (int) (ls %3600) /60;Integer second = (int) (ls - hour *3600- minute *60);String hr = hour.toString();String mi = minute.toString();String se = second.toString();if(hr.length() <2) {hr ="0"+ hr;}if(mi.length() <2) {mi ="0"+ mi;}if(se.length() <2) {se ="0"+ se;}length = hr +":"+ mi +":"+ se;}catch(Exception e) {e.printStackTrace();}returnlength;}

/***视频大小**@paramsource*@return*/public staticString readVideoSize(File source) {FileChannel fc =null;String size ="";try{FileInputStream fis =newFileInputStream(source);fc = fis.getChannel();BigDecimal fileSize =newBigDecimal(fc.size());size = fileSize.divide(newBigDecimal(1024*1024),2, RoundingMode.HALF_UP) +"MB";}catch(FileNotFoundException e) {e.printStackTrace();}catch(IOException e) {e.printStackTrace();}finally{if(null!= fc) {try{fc.close();}catch(IOException e) {e.printStackTrace();}}}returnsize;}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值