java读取视频文件时长

1.下载jar包:http://www.sauronsoftware.it/projects/jave/index.php

2.上代码

 1     @RequestMapping(value = "amendFile.htm", produces = "application/json;charset=UTF-8")
 2     @ResponseBody
 3     public String amendFile(MultipartFile file, HttpServletRequest request,
 4             HttpServletResponse response, String equid,String begintime,String endtime) {
 5         log.info(this.getClass().getSimpleName() + "."
 6                 + Thread.currentThread().getStackTrace()[1].getMethodName()
 7                 + "()----start");
 8
 9         String path =  request.getSession().getServletContext()
10                 .getRealPath("/")+"resources/"+equid+"/"+begintime.substring(0,begintime.length()-6)+"/";
11         // 通过文件ID 获取文件存储路径
12         if (file.isEmpty()) {
13             return "empty";
14         }
15         Map<String, Object> map = new HashMap<String, Object>();
16         try {
17             /* 写入文件 */
18             File targetFile = new File(path, file.getOriginalFilename());
19             if (!targetFile.exists()) {
20                 targetFile.mkdirs();
21             }
22             file.transferTo(targetFile); // 转储
23             Encoder encoder = new Encoder();
24             // zp add 读取视频时长 2017-07-31
25             try {
26                  MultimediaInfo m = encoder.getInfo(targetFile);
27                  long ls = m.getDuration();
28                  ls = Math.round((double)ls/1000);
29                  map.put("timeLength", Math.round(ls));
30             } catch (Exception e) {
31                 e.printStackTrace();
32             }
33             // 读取视频时长结束  2017-07-31
34             response.addHeader("Access-Control-Allow-Origin", "*");
35             if(targetFile.exists()){
36
37                 map.put("success", "success");
38                 ObjectMapper mapper = new ObjectMapper();
39                 String content = mapper.writeValueAsString(map);
40                 return content;
41             }else{
42                 map.put("error", "error");
43                 ObjectMapper mapper = new ObjectMapper();
44                 String content = mapper.writeValueAsString(map);
45                 return content;
46             }
47
48         } catch (Exception e) {
49             e.printStackTrace();
50         }
51         log.info(this.getClass().getSimpleName() + "."
52                 + Thread.currentThread().getStackTrace()[1].getMethodName()
53                 + "()----end");
54         return "success";
55     } 

其中最重要的代码就是:

 1  // zp add 读取视频时长 2017-07-31
 2             try {
 3                  MultimediaInfo m = encoder.getInfo(targetFile);
 4                  long ls = m.getDuration();
 5                  ls = Math.round((double)ls/1000);
 6                  map.put("timeLength", Math.round(ls));
 7             } catch (Exception e) {
 8                 e.printStackTrace();
 9             }
10             // 读取视频时长结束  2017-07-31

时间: 2025-01-18 08:32:22

java读取视频文件时长的相关文章

java 处理获取视频文件时长

现在所做的项目需要获取视频的时长.因为jdk1.5的api没看到有这个方法.所以在网上找了一下,发现jave这个项目.Encoder这个类有个方法: MulitimediaInfo中有个getDuration() 这便是我要找的答案 试验代码加上 因为返回的为毫秒,实际情况需要转换.

[原]通过配合ffmpeg.exe获取视频文件时长

import subprocess import os import time def getTime(flvpath,fid): #file_str = '1.flv' file_str = flvpath wg = subprocess.Popen(['ffmpeg.exe', '-i', file_str], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) (standardout, junk) = wg.communicate() an

java读取大文件 超大文件的几种方法

计算机技术学习用书: 编程技术资料:http://myitbook.taobao.com/  电脑技术群:291644908    用技术改变人生,欢迎您的加入 java 读取一个巨大的文本文件既能保证内存不溢出又能保证性能 2010-09-25 11:18:50|  分类: 默认分类 |字号 订阅 import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.Rando

Java编程:使用Java读取Excel文件内容

微软的ODBC驱动程序把工作表中的第一行作为列名(译者注:即字段名),工作表名作为数据库表名. 要通过JDBC访问工作表,我们还必须创建一个新的ODBC数据源,在Windows 2000系统上创建数据源的过程如下: 进入“控制面板” --> “管理工具” --> “数据源(ODBC)”,(译者注:打开后选择系统DSN),点击添加,在弹出窗口中选择“Driver do Microsoft Excel(*.xls)” 然后在数据源名处输入一个名字myexcel(译者注:相当于数据库名),然后点击“

Java读取word文件,字体,颜色

在Android读取Word文件时,在网上查看时可以用tm-extractors,但好像没有提到怎么读取Word文档中字体的颜色,字体,上下标等相关的属性.但由于需要,要把doc文档中的内容(字体,下划线,颜色等)读取应用到android中(不包括图片和图表). 后面采用的是poi三方jar包(原包太大,可以从源代码里自己抽取有用的一些代码减少包的大小). 我的想法是:把doc中的内容解析出来后,加上html对应的标签,在android中通过Html.fromHtml在TextView中进行显示

转载:java基础学习总结——java读取properties文件总结

java基础学习总结--java读取properties文件总结 一.java读取properties文件总结 在java项目中,操作properties文件是经常要做的,因为很多的配置信息都会写在properties文件中,这里主要是总结使用getResourceAsStream方法和InputStream流去读取properties文件,使用getResourceAsStream方法去读取properties文件时需要特别注意properties文件路径的写法,测试项目如下: 1.1.项目的

用java读取properties文件--转

今天为了通过java读取properties文件,google了很长时间,终于找到了.现在特记录之和大家一起分享.     下面直接贴出代码:java类 public class Mytest public static void readFile(String fileName) {//传入参数fileName是要读取的资源文件的文件名如(file.properties) InputStream in = null; Properties pros = new Properties(); tr

java基础学习总结——java读取properties文件总结

一.java读取properties文件总结 在java项目中,操作properties文件是经常要做的,因为很多的配置信息都会写在properties文件中,这里主要是总结使用getResourceAsStream方法和InputStream流去读取properties文件,使用getResourceAsStream方法去读取properties文件时需要特别注意properties文件路径的写法,测试项目如下: 1.1.项目的目录结构 1.2. java读取properties文件代码测试

java读取.properties文件乱码

1.config.properties文件写不进中文,写进去都变成了unicode,解决办法是右键该文件--Properties--Resource--Text file encoding ,选other,我将other改为了UTF-8,这样可以写进去中文,但是读取时又变成乱码了. 2,解决读取乱码: String content = new String(PropertiesConfig.getProperty("mail.content").getBytes("ISO88