zoukankan      html  css  js  c++  java
  • java 获取视频时间

    //先将视频保存到项目生成临时文件,获取时长后删除临时文件    
    // 使用fastdfs进行文件上传 @RequestMapping("/uploadVideoToFast") @ResponseBody public Map<String, Object> uploadVideoToFast(@RequestParam("file") MultipartFile file) throws IOException, InterruptedException { File toFile = null; InputStream ins = null; ins = file.getInputStream(); toFile = new File(file.getOriginalFilename()); inputStreamToFile(ins, toFile); ins.close(); String length = ReadVideoTime(toFile); Map<String, Object> url = UploadVideoDemo.testUploadStream(accessKeyId, accessKeySecret, "视频", file.getOriginalFilename(), file.getInputStream()); url.put("length", length); return url; } private String ReadVideoTime(File source) throws InterruptedException { Encoder encoder = new Encoder(); String length = ""; try { MultimediaInfo m = encoder.getInfo(source); long ls = m.getDuration() / 1000; int hour = (int) (ls / 3600); int minute = (int) (ls % 3600) / 60; int second = (int) (ls - hour * 3600 - minute * 60); length = hour + ":" + minute + ":" + second; } catch (Exception e) { e.printStackTrace(); } Thread.sleep(1000); System.out.println(source.getAbsolutePath()); System.out.println(source.getPath()); System.out.println(length); System.out.println(source.delete()); return length; } public static void inputStreamToFile(InputStream ins, File file) { try { OutputStream os = new FileOutputStream(file); int bytesRead = 0; byte[] buffer = new byte[8192]; while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) { os.write(buffer, 0, bytesRead); } os.close(); ins.close(); } catch (Exception e) { e.printStackTrace(); } }
  • 相关阅读:
    Directx11教程(63) tessellation学习(5)
    OpenCL 学习step by step (1) 安装AMD OpenCL APP
    Directx11教程(62) tessellation学习(4)
    Directx11教程(61) tessellation学习(3)
    Notes 和 Domino 已知限制
    asp.net中的WebApplication和WebSite
    平淡的2007
    TinyMCE与Domino集成
    jOOQ 2.6.0 发布,Java的ORM框架
    bandwidth 0.32f 发布,内存带宽测试工具
  • 原文地址:https://www.cnblogs.com/fengwenzhee/p/10849283.html
Copyright © 2011-2022 走看看