该插件是为了解决视频上传前获取视频基础数据及编码格式,从而判断是否需要进一步处理(如转码等)
- 安装
npm i videoformat
- 使用 [ 获取视频基础信息 ]
import videoFormat from 'videoformat'
// 异步模式获取视频文件信息
const info = await videoFormat.getFormatsSync(file)
// 同步Promise获取视频文件信息
videoFormat.getFormatsSync(file).then((res)=>{
const info = res;
})
// 返回数据
{
audio:{ // 音频
bitrate: 115752.538071066, // 比特率
codec: "mp4a", //音频编码格式
created: Tue May 11 2010 18:32:06 GMT+0800 (中国标准时间) , // 创建时间
size: 182426 // 音频大小
},
video:{ // 视频
bitrate: 80637.48810656517, // 视频文件比特率
codec: "avc1", // 视频文件编码格式
created: Tue May 11 2010 18:32:06 GMT+0800 (中国标准时间), // 创建时间
height: 240, // 视频高度
size: 127125, // 视频大小
width: 320, // 视频宽度
}
}
- 使用 [ 检测视频文件是否WEB浏览器可用 ]
import videoFormat from 'videoformat'
// 异步模式检测文件是否合规
const canUse = await videoFormat.checkWebFormatSync(file)
// 同步Promise模式检测文件是否合规
videoFormat.checkWebFormat(file,{
maxWidth:300,
maxHeight:200
}}).then((res)=>{
const canUse = res;
})
// 返回数据
canUse = true || false
// 参数可选:
checkWebFormatSync(file,params) || checkWebFormat(file,params)
file : 上传的视频文件对象 // 必传
params : { // 可选
maxWidth : 最大允许宽度, // Number类型 可选
maxHeight: 最大允许高度 // Number类型 可选
}
鸣谢
感谢 mp4box