const PATH = require('path')
const { exec } = require('child_process')
let rootPath = E:\\dev
var saveDir = 'image'
let arr = []
let obj = querydir(rootPath)
var classId = null
function layer(b) {
b.forEach(e =>{
if (e.child &&e.child.length) {
layer(e.child)
} else if (!e.child) {
arr.push(e)
}
})
}
layer(obj)
let str = JSON.stringify(arr, "", "\t")
write('./data.json', str)
/**
/**
function createDir(path) {
// console.log(path)
if (!path) return false
path = path.replace(//[\w_.?=\w\d]+$/, '')
let pathArr = PATH.normalize(path).split('\')
let a = ''
pathArr.forEach(e =>{
a += e
if (!fs.existsSync(a)) {
fs.mkdirSync(a)
}
a += '\'
})
return true
}
我知道的跟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)
}
})