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…
毕设项目是一个在线学习系统,教师用户有上传视频的功能,在答辩之前赶了一个demo出来,好多功能都写死了,比如课程学习进度就是被我写死在前端的一个变量,最近导师要我把项目打包发给他,这才心慌慌赶紧把这些功能补上.不知道正规的学习网站怎么做的学习进度,根据我的理解就是用户已经观看的视频时长除以整个课程的时长,这里就涉及到获取视频的时长问题了. 除了在maven中添加文件上传所需的依赖外,获取视频时长还依赖一个jave(注意啊,不是java,我最开始就是看成了java,一脸懵逼)的jar包,这个包在m…
前言: 上传音频文件,自动写入此音频文件的时长,这里用 COM组件Microsoft Shell Controls And Automation来实现. 首先 1.引用:Microsoft Shell Controls And Automation 注意:这里是1.0版本的,有的使用的是1.2版本的,如果1.0的有问题,请换成1.2的 2.代码如下 string strFileName = FileHelper.MapPath(linkUrl);//linkUrl是上传到服务器的路径 strin…
需要导入jar包:jave 1.0.2 jar 如果是maven项目,在pom.xml文件中添加: <dependency> <groupId>it.sauronsoftware</groupId> <artifactId>jave</artifactId> <version>1.0.2</version> </dependency> 具体代买如下: /** * 音频文件获取文件时长 * @param sour…
1.下载jar包:http://www.sauronsoftware.it/projects/jave/index.php 2.上代码 @RequestMapping(value = "amendFile.htm", produces = "application/json;charset=UTF-8") @ResponseBody public String amendFile(MultipartFile file, HttpServletRequest requ…
利用PHP中的FFmpeg读取视频播放时长与码率等信息   function getVideoInfo($file) {    define('FFMPEG_PATH', '/usr/local/ffmpeg2/bin/ffmpeg -i "%s" 2>&1');   $command = sprintf(FFMPEG_PATH, $file);      ob_start();   passthru($command);   $info = ob_get_content…
首先引用COM组件:Microsoft Shell Controls And Automation,需要引用1.2版本的,1.0的会出问题. 这里需要注意DLL的属性Embed Interop Type 即 嵌入互操作类型 设为False,否则会引起互操作类型异常. 代码: string strFileName = Server.MapPath("~/00125ca6293e6109161b6fa91d03473a.mp3"); string dirName = System.IO.P…
1.在项目中添加引入:COM组件的Microsoft Shell Controls And Automation 2.在引用中找到Shell32,点击右键,在属性中将“嵌入互操作类型”的值改为“false” 3.代码 public static string GetVoiceTime(string voicePath)//voicePath为语音文件路径 { string path = HttpContext.Current.Server.MapPath(voicePath);//将虚拟路径转换…
最近项目碰到一个大坑:APP上需要在获取视频列表时就获取视频的时长,但早期上传的时候数据库都没有保存这个数据,所以前段时间添加一个时长字段,在上传时手动输入视频时长,但是之前库中有上万条数据没这个信息,如果这样一条一条手动输入,人都得疯掉.所以谁也不提不管这破事,在这之前的视频时长信息就让它空在那.最近领导让我做个按类目分类统计视频时长信息,和领导反映了这个问题,最终解决方案就把没有的做0处理.在完成了这个功能后,我就在想能用什么方式把之前的视频时长全部给更新上去.手动输入这个肯定时不行的,必须…
参考资料:获取时长 var fileName = $("#sectionfileUpload").val(); //C:\fakepath\3.jpeg var exts = fileName.split('.'); var ext = ""; if (exts != undefined) { if (exts.length <= 1 && fileName.indexOf('=')>-1) {//直接输入上传到azure之后生成的文件地…