获得视频或音频的毫秒级别的长度duration

2020-12-24 10:36:03

参考地址 用nodejs怎么获得一个文件夹下面的视频信息呢?(具体指视频时长/多少分钟的视频)

我知道的跟nodejs关系bai不大du,可以用ffmpeg zhi获取,然后nodejs 调用daoffmpeg的命令。zhuan 



可以获得视频的时长shu duration 和 分辨率1653 272X480 。


然后把输出的内容通过正则获取出来即可。 


代码: 具体获取文件路径并判断的我就不写了



var url = 'd:/a.mp4';

 

var exec = require('child_process').exec;

var cp = exec('d:/soft/ffmpeg/bin/ffmpeg -i '+url,function(err,stdout,stderr){

    var outStr = stderr.toString();

    // console.log(outStr);

    var regDuration =/Duration\: ([0-9\:\.]+),/;

    var rs = regDuration.exec(outStr); 

    if(rs[1]){

        var timeStr = rs[1];

        //获得时长

        console.log(timeStr);

    }

});


  • 2019-10-19 11:22:49

    window安装ffmpeg-concat出现的坑和解决办法

    最后还是选择了fluent-ffmpeg,没特效就没特效吧。最起码有声音吗。 ffmpeg-contact也可以有声音,但是需要先提取出来再合并进去,不知道能不能有效同步,果断放弃。

  • 2019-10-19 13:37:44

    v-model里使用过滤器

    档所述过滤器只能用在v-bind指令和{{}}表达式中,v-model中使用过滤器是一种思维误区。 因为v-model里实现数据显示和存储格式的转换应该是双向的。如下例:

  • 2019-10-19 16:35:45

    Vue.directive使用注意

    首先,Vue.directive要在实例初始化之前,不然会报错,还有,定义的指令不支持驼峰式写法,也会报下面同样的错,虽然在源码中没有找到在哪里统一处理大小写,但是在有关directive的方法中捕捉到的指令命名统一变为小写,所以,还是用'-'或者'_'分割吧。

  • 2019-10-21 08:39:54

    vue slot用法以及使用介绍

    通过上面的内容可以知道,在slot组件中引入了slot的子组件,而且又在子组件标签内添加了新的标签内容,但页面上并没有将子组件标签内的标签内容显示出来,

  • 2019-10-21 15:06:27

    yarn详细入门教程

    Yarn 是 Facebook, Google, Exponent 和 Tilde 开发的一款新的 JavaScript 包管理工具。就像我们可以从官方文档了解那样,它的目的是解决这些团队使用 npm 面临的少数问题,即:

  • 2019-10-23 10:20:48

    php 去掉 头尾 空格 2种方法

    看似很简单的问题,其实还是有点坑的,首先这里 空格转义,不是字符串,直接用trim()是去不掉。