JS获取视频播放时长

JavaScript049

JS获取视频播放时长,第1张

给定一个视频播放地址,获取该视频播放的时长

思路: 前提是能被播放,无法被浏览器播放则无法获取时长,所以根据这一点,下面的方案也能判断视频能否被浏览器支持解码

我知道的跟nodejs关系不大,可以用ffmpeg 来获取,然后nodejs 调用ffmpeg的命令。

可以获得视频的时长 duration 和 分辨率 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)

}

})